annotate Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs @ 106:80c22175c9b5

agregado de tipo de evento (van, cafe, grupoestudio) agregado de tipo de evento en el alta de evento y en el alta de propuestas desde la app web algunas correcciones en el publicador del blog agregado de textos para publicar en el blog eventos de tipo alt.net cafe
author jorge.rowies
date Mon, 06 Jun 2011 14:07:12 -0300
parents 1d820f17fc75
children 2d02adb79322
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
105
1d820f17fc75 ajustes y correcciones en el publicador de blogs
jorge.rowies
parents: 100
diff changeset
43 var fecha = getFechaFormateada(track.Evento.Fecha);
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 }