comparison 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
comparison
equal deleted inserted replaced
105:1d820f17fc75 106:80c22175c9b5
1 using System; 1 using System;
2 using System.Globalization; 2 using System.Globalization;
3 using Agendas.Blog.Exceptions;
3 using Agendas.Blog.Properties; 4 using Agendas.Blog.Properties;
4 using AltNetHispano.Agendas.Domain; 5 using AltNetHispano.Agendas.Domain;
5 using System.Linq; 6 using System.Linq;
6 7
7 namespace Agendas.Blog.Impl 8 namespace Agendas.Blog.Impl
11 public AgendarReunionPostWriter(IPostWriterWebService postWriterWebService) : base(postWriterWebService) 12 public AgendarReunionPostWriter(IPostWriterWebService postWriterWebService) : base(postWriterWebService)
12 { 13 {
13 } 14 }
14 15
15 protected override string GetTitle(Track track) 16 protected override string GetTitle(Track track)
16 { 17 {
17 return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Title, 18 string resourceName = getTitleResourceName(track);
19
20 return string.Format(CultureInfo.InvariantCulture, resourceName,
18 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente 21 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente
19 track.Evento.Titulo //Tema a tratar en la reunion 22 track.Evento.Titulo //Tema a tratar en la reunion
20 ); 23 );
21 } 24 }
22 25
23 protected override string GetBody(Track track) 26 private string getTitleResourceName(Track track)
27 {
28 string resourceName;
29 if (track.Evento.Tipo == TipoEvento.Van)
30 resourceName = Resources.VAN_Agendar_Title;
31 else if (track.Evento.Tipo == TipoEvento.Cafe)
32 resourceName = Resources.Cafe_Agendar_Title;
33 else
34 throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString());
35
36 return resourceName;
37 }
38
39 protected override string GetBody(Track track)
24 { 40 {
41 string resourceName = getBodyResourceName(track);
42
25 var fecha = getFechaFormateada(track.Evento.Fecha); 43 var fecha = getFechaFormateada(track.Evento.Fecha);
26 return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Body, 44 return string.Format(CultureInfo.InvariantCulture, resourceName,
27 fecha, //Fecha y hora en GMT+0 45 fecha, //Fecha y hora en GMT+0
28 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente 46 track.Evento.Ponente.Nombre, //Nombre y apellido del ponente
29 track.Evento.Titulo, //Tema a tratar en la reunion 47 track.Evento.Titulo, //Tema a tratar en la reunion
30 getUrlInvitacion(track.Evento), //Url a la invitacion realizada por el ponente (por lo general es el thread en la lista de correo) 48 getUrlInvitacion(track.Evento), //Url a la invitacion realizada por el ponente (por lo general es el thread en la lista de correo)
31 GetNombreUsuario(track) //Usuario que postea en el blog 49 GetNombreUsuario(track) //Usuario que postea en el blog
32 ); 50 );
33 } 51 }
52
53 private string getBodyResourceName(Track track)
54 {
55 string resourceName;
56 if (track.Evento.Tipo == TipoEvento.Van)
57 resourceName = Resources.VAN_Agendar_Body;
58 else if (track.Evento.Tipo == TipoEvento.Cafe)
59 resourceName = Resources.Cafe_Agendar_Body;
60 else
61 throw new TipoEventoNoSoportadoException(track.Evento.Tipo.ToString());
62
63 return resourceName;
64 }
34 65
35 private string getFechaFormateada(DateTime? fecha) 66 private string getFechaFormateada(DateTime? fecha)
36 { 67 {
37 if (fecha == null) 68 if (fecha == null)
38 throw new ArgumentNullException("fecha"); 69 throw new ArgumentNullException("fecha");
47 78
48 private string getUrlInvitacion(Evento evento) 79 private string getUrlInvitacion(Evento evento)
49 { 80 {
50 if (!string.IsNullOrEmpty(evento.UrlInvitacion)) 81 if (!string.IsNullOrEmpty(evento.UrlInvitacion))
51 { 82 {
52 return string.Format(CultureInfo.InvariantCulture, Resources.VAN_Realizacion_Body_UrlListaCorreo, 83 return string.Format(CultureInfo.InvariantCulture, Resources.Reunion_Agendar_Body_UrlListaCorreo,
53 evento.UrlInvitacion); 84 evento.UrlInvitacion);
54 } 85 }
55 86
56 return string.Empty; 87 return string.Empty;
57 } 88 }