Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Google/GooglePublicador.cs @ 130:0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
author | alabra |
---|---|
date | Sun, 10 Jul 2011 18:50:11 -0400 |
parents | 26d0513a8410 |
children | 80156ae1493f |
comparison
equal
deleted
inserted
replaced
129:a6d20ea228a5 | 130:0ea32a748453 |
---|---|
1 using System; | 1 using System.Collections.Generic; |
2 using System.Collections.Generic; | 2 using System.Configuration; |
3 using AltNetHispano.Agendas.Domain; | 3 using AltNetHispano.Agendas.Domain; |
4 using AltNetHispano.Agendas.Google.DetailsEvents; | |
4 | 5 |
5 namespace AltNetHispano.Agendas.Google | 6 namespace AltNetHispano.Agendas.Google |
6 { | 7 { |
7 public class GooglePublicador : IPublicador | 8 public class GooglePublicador : IPublicador |
8 { | 9 { |
9 public void Publicar(IEnumerable<Track> tracks) | 10 private readonly IGCalendarAdapter _adapter; |
11 private readonly IDictionary<TipoEvento, IGEventDetail> _gEventDetails; | |
12 | |
13 private static string GetUserName | |
14 { | |
15 get { return ConfigurationManager.AppSettings["userNameGoogleCalendar"]; } | |
16 } | |
17 | |
18 private static string GetPassword | |
19 { | |
20 get { return ConfigurationManager.AppSettings["passwordGoogleCalendar"]; } | |
21 } | |
22 | |
23 private static string GetCalendarId | |
24 { | |
25 get { return ConfigurationManager.AppSettings["calendarIdGoogleCalendar"]; } | |
26 } | |
27 | |
28 public void Publicar(IEnumerable<Track> tracks) | |
10 { | 29 { |
11 throw new NotImplementedException(); | 30 foreach (var track in tracks) |
31 { | |
32 if (track.Accion == Accion.Agendar) | |
33 PublicarAccionAgendar(track); | |
34 } | |
12 } | 35 } |
36 | |
37 private void PublicarAccionAgendar(Track track) | |
38 { | |
39 string message; | |
40 _gEventDetails[track.Evento.Tipo].Generate(track.Evento); | |
41 var result = _adapter.CreateEvent(_gEventDetails[track.Evento.Tipo], out message); | |
42 track.LogAdd(new TrackLog(TrackLogPropietario.Calendario, message, track.Usuario, result)); | |
43 } | |
44 | |
45 public GooglePublicador() | |
46 : this(new GCalendarAdapter("VAN", GetUserName, GetPassword, GetCalendarId)) | |
47 { | |
48 } | |
49 | |
50 public GooglePublicador(IGCalendarAdapter gCalendarAdapter) | |
51 { | |
52 _adapter = gCalendarAdapter; | |
53 | |
54 _gEventDetails = new Dictionary<TipoEvento, IGEventDetail> | |
55 { | |
56 {TipoEvento.Van, new VanGEventDetail()}, | |
57 {TipoEvento.Cafe, new CafeGEventDetail()}, | |
58 {TipoEvento.GrupoEstudio, new EstudioGEventDetail()} | |
59 }; | |
60 } | |
13 } | 61 } |
14 } | 62 } |