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