view Agendas/trunk/src/Agendas.Blog/Impl/AgendarReunionPostWriter.cs @ 96:1eb5a0e531bf

Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios Estructura de aspnetdb dentro de base de datos de altnet hispano, se debe ejecutar: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe para crear dicha estructura, de todas formas el objetivo seria tener una tabla de usuario y password interna, no parecería ser necesaria toda la estructura de aspnetdb
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 19:37:02 -0300
parents db4b1e2cae49
children 2434c2323f3d
line wrap: on
line source

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.Persona.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.Persona.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;
		}
	}
}