view Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.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 80156ae1493f
children cd96cfc8a1f5
line wrap: on
line source

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

namespace AltNetHispano.Agendas.Google.DetailsEvents
{
    public class CafeGEventDetail : IGEventDetail
    {
        private const string TextoCafe =
            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema [NOMBRE]." +
            "\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 = "Alt.Net Café " + 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 = TextoCafe.Replace("[NOMBRE]", evento.Titulo).
                Replace("[FECHA]", StartEvent.ToString("D", cultureInfo)).
                Replace("[URL_DISCUCION]", evento.UrlInvitacion);
        }
    }
}