view Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs @ 130:0ea32a748453

Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
author alabra
date Sun, 10 Jul 2011 18:50:11 -0400
parents
children 80156ae1493f
line wrap: on
line source

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

namespace AltNetHispano.Agendas.Google.DetailsEvents
{
    public class EstudioGEventDetail : IGEventDetail
    {
        private const string TextoEstudio =
            "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre [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 = "Grupo de Estudio " + evento.Titulo;
            Location = "http://snipr.com/virtualaltnet";
            if (evento.Fecha != null)
                StartEvent = new DateTime(evento.Fecha.Value.Year, evento.Fecha.Value.Month, evento.Fecha.Value.Day,
                                          18, 0, 0, DateTimeKind.Utc);
            EndEvent = StartEvent.AddHours(2);

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

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