diff Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs @ 109:6bd9be78caa0

Merge
author Nelo@Kenia.neluz.int
date Tue, 07 Jun 2011 23:21:07 -0300
parents 80c22175c9b5
children 2d02adb79322
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs	Tue Jun 07 23:07:06 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs	Tue Jun 07 23:21:07 2011 -0300
@@ -1,5 +1,6 @@
 using System;
 using System.Globalization;
+using Agendas.Blog.Exceptions;
 using Agendas.Blog.Properties;
 using AltNetHispano.Agendas.Domain;
 using System.Linq;
@@ -8,25 +9,59 @@
 {
 	public class AgendarReunionPostWriter : PostWriter
 	{
-		protected override string GetTitle(Evento evento)
+	  public AgendarReunionPostWriter(IPostWriterWebService postWriterWebService) : base(postWriterWebService)
+	  {
+	  }
+
+    protected override string GetTitle(Track track)
+    {
+      string resourceName = getTitleResourceName(track);
+
+      return string.Format(CultureInfo.InvariantCulture, resourceName,
+													 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente
+													 track.Evento.Titulo //Tema a tratar en la reunion
+				);
+    }
+
+	  private string getTitleResourceName(Track track)
+	  {
+	    string resourceName;
+	    if (track.Evento.Tipo == TipoEvento.Van)
+	      resourceName = Resources.VAN_Agendar_Title;
+	    else if (track.Evento.Tipo == TipoEvento.Cafe)
+	      resourceName = Resources.Cafe_Agendar_Title;
+	    else
+	      throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString());
+
+	    return resourceName;
+	  }
+
+	  protected override string GetBody(Track track)
 		{
-			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
+      string resourceName = getBodyResourceName(track);
+
+			var fecha = getFechaFormateada(track.Evento.Fecha);
+      return string.Format(CultureInfo.InvariantCulture, resourceName,
+													 fecha, //Fecha y hora en GMT+0
+													 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente
+													 track.Evento.Titulo, //Tema a tratar en la reunion
+													 getUrlInvitacion(track.Evento), //Url a la invitacion realizada por el ponente (por lo general es el thread en la lista de correo)
+													 GetNombreUsuario(track) //Usuario que postea en el blog
 				);
 		}
 
-		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 getBodyResourceName(Track track)
+    {
+      string resourceName;
+      if (track.Evento.Tipo == TipoEvento.Van)
+        resourceName = Resources.VAN_Agendar_Body;
+      else if (track.Evento.Tipo == TipoEvento.Cafe)
+        resourceName = Resources.Cafe_Agendar_Body;
+      else
+        throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString());
+
+      return resourceName;
+    }
 
 		private string getFechaFormateada(DateTime? fecha)
 		{
@@ -45,7 +80,7 @@
 		{
 			if (!string.IsNullOrEmpty(evento.UrlInvitacion))
 			{
-				return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Body_UrlListaCorreo,
+				return string.Format(CultureInfo.InvariantCulture, Resources.Reunion_Agendar_Body_UrlListaCorreo,
 														 evento.UrlInvitacion); 
 			}