Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs @ 185:2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio.
En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado.
Las fechas ingresadas son creadas en sistema UTC
Queda pendiente Agregar duración a Google Calendar.
author | alabra |
---|---|
date | Tue, 09 Aug 2011 01:04:27 -0400 |
parents | 80c22175c9b5 |
children | e38d53a1ead9 |
rev | line source |
---|---|
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
1 using System; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
2 using System.Globalization; |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
3 using Agendas.Blog.Exceptions; |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
4 using Agendas.Blog.Properties; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
5 using AltNetHispano.Agendas.Domain; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
6 using System.Linq; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
7 |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
8 namespace Agendas.Blog.Impl |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
9 { |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
10 public class AgendarReunionPostWriter : PostWriter |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
11 { |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
77
diff
changeset
|
12 public AgendarReunionPostWriter(IPostWriterWebService postWriterWebService) : base(postWriterWebService) |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
77
diff
changeset
|
13 { |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
77
diff
changeset
|
14 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
77
diff
changeset
|
15 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
16 protected override string GetTitle(Track track) |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
17 { |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
18 string resourceName = getTitleResourceName(track); |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
19 |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
20 return string.Format(CultureInfo.InvariantCulture, resourceName, |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
21 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
22 track.Evento.Titulo //Tema a tratar en la reunion |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
23 ); |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
24 } |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
25 |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
26 private string getTitleResourceName(Track track) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
27 { |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
28 string resourceName; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
29 if (track.Evento.Tipo == TipoEvento.Van) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
30 resourceName = Resources.VAN_Agendar_Title; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
31 else if (track.Evento.Tipo == TipoEvento.Cafe) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
32 resourceName = Resources.Cafe_Agendar_Title; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
33 else |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
34 throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString()); |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
35 |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
36 return resourceName; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
37 } |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
38 |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
39 protected override string GetBody(Track track) |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
40 { |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
41 string resourceName = getBodyResourceName(track); |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
42 |
185
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
106
diff
changeset
|
43 var fecha = getFechaFormateada(track.Evento.FechaInicio); |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
44 return string.Format(CultureInfo.InvariantCulture, resourceName, |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
45 fecha, //Fecha y hora en GMT+0 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
46 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
47 track.Evento.Titulo, //Tema a tratar en la reunion |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
48 getUrlInvitacion(track.Evento), //Url a la invitacion realizada por el ponente (por lo general es el thread en la lista de correo) |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
100
diff
changeset
|
49 GetNombreUsuario(track) //Usuario que postea en el blog |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
50 ); |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
51 } |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
52 |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
53 private string getBodyResourceName(Track track) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
54 { |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
55 string resourceName; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
56 if (track.Evento.Tipo == TipoEvento.Van) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
57 resourceName = Resources.VAN_Agendar_Body; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
58 else if (track.Evento.Tipo == TipoEvento.Cafe) |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
59 resourceName = Resources.Cafe_Agendar_Body; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
60 else |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
61 throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString()); |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
62 |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
63 return resourceName; |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
64 } |
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
65 |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
66 private string getFechaFormateada(DateTime? fecha) |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
67 { |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
68 if (fecha == null) |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
69 throw new ArgumentNullException("fecha"); |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
70 |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
71 var fechaCast = (DateTime)fecha; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
72 var culture = CultureInfo.CreateSpecificCulture("es-ES"); |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
73 var result = fechaCast.ToString("D", culture) + " a las " + |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
74 fechaCast.ToString("t", culture) + " UTC/GMT"; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
75 |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
76 return result; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
77 } |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
78 |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
79 private string getUrlInvitacion(Evento evento) |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
80 { |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
81 if (!string.IsNullOrEmpty(evento.UrlInvitacion)) |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
82 { |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
83 return string.Format(CultureInfo.InvariantCulture, Resources.Reunion_Agendar_Body_UrlListaCorreo, |
77
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
84 evento.UrlInvitacion); |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
85 } |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
86 |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
87 return string.Empty; |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
88 } |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
89 } |
a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
jorge.rowies
parents:
diff
changeset
|
90 } |