Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs @ 77:a300394dbabe
cambios minimos en el publicador del blog por la reestructuracion de estados de los eventos
author | jorge.rowies |
---|---|
date | Tue, 24 May 2011 14:40:23 -0300 |
parents | |
children | db4b1e2cae49 3027c64344bd |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs Tue May 24 14:40:23 2011 -0300 @@ -0,0 +1,55 @@ +using System; +using System.Globalization; +using Agendas.Blog.Properties; +using AltNetHispano.Agendas.Domain; +using System.Linq; + +namespace Agendas.Blog.Impl +{ + public class AgendarReunionPostWriter : PostWriter + { + protected override string GetTitle(Evento evento) + { + return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Title, + evento.Ponente.Nombre, //Nombre y apellido del ponente + evento.Titulo //Tema a tratar en la reunion + ); + } + + protected override string GetBody(Evento evento) + { + var fecha = getFechaFormateada(evento.Fecha); + return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Body, + fecha, //Fecha y hora en GMT+0 + evento.Ponente.Nombre, //Nombre y apellido del ponente + evento.Titulo, //Tema a tratar en la reunion + getUrlInvitacion(evento), //Url a la invitacion realizada por el ponente (por lo general es el thread en la lista de correo) + GetNombreUsuario(evento) //Usuario que postea en el blog + ); + } + + private string getFechaFormateada(DateTime? fecha) + { + if (fecha == null) + throw new ArgumentNullException("fecha"); + + var fechaCast = (DateTime)fecha; + var culture = CultureInfo.CreateSpecificCulture("es-ES"); + var result = fechaCast.ToString("D", culture) + " a las " + + fechaCast.ToString("t", culture) + " UTC/GMT"; + + return result; + } + + private string getUrlInvitacion(Evento evento) + { + if (!string.IsNullOrEmpty(evento.UrlInvitacion)) + { + return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Body_UrlListaCorreo, + evento.UrlInvitacion); + } + + return string.Empty; + } + } +} \ No newline at end of file