Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Google/GooglePublicador.cs @ 162:557c386fcecc
Ticket 153: UI de Publicar.
author | juanjose.montesdeocaarbos |
---|---|
date | Fri, 05 Aug 2011 22:02:23 -0300 |
parents | 734d3f0853bf |
children | 2a336a6a76b5 |
rev | line source |
---|---|
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
1 using System.Collections.Generic; |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
2 using AltNetHispano.Agendas.Configurations; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
3 using AltNetHispano.Agendas.Domain; |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
4 using AltNetHispano.Agendas.Google.DetailsEvents; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
5 |
34
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
3
diff
changeset
|
6 namespace AltNetHispano.Agendas.Google |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
8 public class GooglePublicador : IPublicador |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
9 { |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
10 private readonly IGCalendarAdapter _adapter; |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
11 private readonly IDictionary<TipoEvento, IGEventDetail> _gEventDetails; |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
12 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
13 private static string GetUserName |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
14 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
15 get { return AgendasConfigurationManager.Publicadores.Google.Calendar.UserName; } |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
16 } |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
17 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
18 private static string GetPassword |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
19 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
20 get { return AgendasConfigurationManager.Publicadores.Google.Calendar.Password; } |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
21 } |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
22 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
23 private static string GetCalendarId |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
24 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
25 get { return AgendasConfigurationManager.Publicadores.Google.Calendar.CalendarId; } |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
26 } |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
27 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
28 public void Publicar(IEnumerable<Track> tracks) |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
29 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
30 if (!AgendasConfigurationManager.Publicadores.Google.Enabled) return; |
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
135
diff
changeset
|
31 |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
32 foreach (var track in tracks) |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
33 { |
135
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
34 switch (track.Accion) |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
35 { |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
36 case Accion.Agendar: |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
37 PublicarAccionAgendar(track); |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
38 break; |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
39 case Accion.Cancelar: |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
40 PublicarAccionCancelar(track); |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
41 break; |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
42 } |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
43 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
44 } |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
45 |
135
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
46 private void PublicarAccionCancelar(Track track) |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
47 { |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
48 string message; |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
49 var result= _adapter.DeleteEvent(track.Evento.Fecha.Value, track.Evento.Fecha.Value.AddHours(2), out message); |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
50 track.LogAdd(new TrackLog(TrackLogPropietario.Calendario, message, track.Usuario, result)); |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
51 } |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
52 |
80156ae1493f
Se agrega la eliminación de un evento cuando la acción sea Cancelar. Además se arregla la descripción de los eventos Alt.Net Café y Grupo de estudio debido a que los
alabra
parents:
130
diff
changeset
|
53 private void PublicarAccionAgendar(Track track) |
130
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
54 { |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
55 string message; |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
56 _gEventDetails[track.Evento.Tipo].Generate(track.Evento); |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
57 var result = _adapter.CreateEvent(_gEventDetails[track.Evento.Tipo], out message); |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
58 track.LogAdd(new TrackLog(TrackLogPropietario.Calendario, message, track.Usuario, result)); |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
59 } |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
60 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
61 public GooglePublicador() |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
62 : this(new GCalendarAdapter("VAN", GetUserName, GetPassword, GetCalendarId)) |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
63 { |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
64 } |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
65 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
66 public GooglePublicador(IGCalendarAdapter gCalendarAdapter) |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
67 { |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
68 _adapter = gCalendarAdapter; |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
69 |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
70 _gEventDetails = new Dictionary<TipoEvento, IGEventDetail> |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
71 { |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
72 {TipoEvento.Van, new VanGEventDetail()}, |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
73 {TipoEvento.Cafe, new CafeGEventDetail()}, |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
74 {TipoEvento.GrupoEstudio, new EstudioGEventDetail()} |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
75 }; |
0ea32a748453
Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
87
diff
changeset
|
76 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
77 } |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
78 } |