view Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs @ 185:2d02adb79322

Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio. Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio. En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado. Las fechas ingresadas son creadas en sistema UTC Queda pendiente Agregar duración a Google Calendar.
author alabra
date Tue, 09 Aug 2011 01:04:27 -0400
parents 0ea32a748453
children cd96cfc8a1f5
line wrap: on
line source

using System;
using System.Globalization;
using AltNetHispano.Agendas.Domain;

namespace AltNetHispano.Agendas.Google.DetailsEvents
{
    public class VanGEventDetail : IGEventDetail
    {
        private const string TextoVan =
           "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará una VAN sobre [NOMBRE], con [NOMBRE_EXPOSITOR]." +
           "\n\rFecha: [FECHA] a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
           "\n\rPueden plantear sus comentarios e inquietudes sobre el tema de la reunión en: [URL_DISCUCION]" +
           "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
           "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)";


        public string Title { get; private set; }
        public string Location { get; private set; }
        public string Summary { get; private set; }
        public DateTime StartEvent { get; private set; }
        public DateTime EndEvent { get; private set; }

        public void Generate(Evento evento)
        {
            Title = "VAN sobre " + evento.Titulo;
            Location = "http://snipr.com/virtualaltnet";
            if (evento.FechaInicio != null)
                StartEvent = new DateTime(evento.FechaInicio.Value.Year, evento.FechaInicio.Value.Month, evento.FechaInicio.Value.Day,
                                          18, 0, 0, DateTimeKind.Utc);
            EndEvent = StartEvent.AddHours(2);

            var cultureInfo = new CultureInfo( "es-ES", false ).DateTimeFormat;

            Summary = TextoVan.Replace("[NOMBRE]", evento.Titulo).
                Replace("[NOMBRE_EXPOSITOR]", evento.Ponente.Nombre).
                Replace("[FECHA]", StartEvent.ToString("D", cultureInfo)).
                Replace("[URL_DISCUCION]", evento.UrlInvitacion);
        }
    }
}