annotate Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs @ 302:11dddcc9a862 tip

Historico de Eventos, no muestra bien la Url del Patrocinador.
author juanjose.montesdeocaarbos
date Tue, 14 Aug 2012 21:54:30 -0300
parents a6037c6c88d8
children
rev   line source
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
1 using System;
229
33976aea7546 Varios Ponentes en calendario
nelopauselli
parents: 198
diff changeset
2 using System.Collections.Generic;
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
3 using System.Globalization;
229
33976aea7546 Varios Ponentes en calendario
nelopauselli
parents: 198
diff changeset
4 using System.Linq;
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain;
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
6
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
7 namespace AltNetHispano.Agendas.Google.DetailsEvents
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
8 {
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
9 public class VanGEventDetail : IGEventDetail
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
10 {
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
11 private const string TextoVan =
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
12 "La comunidad ALT.NET Hispano (http://altnethispano.org) realizará [EVENTO_TIPO] sobre [NOMBRE][NOMBRE_EXPOSITOR]." +
288
a6037c6c88d8 Se soluciona bug #198 Bug: Summary incorrecto en Google Calendar.
user@MECHUQUE
parents: 231
diff changeset
13 "\n\rFecha: [FECHA] a las [HORA] hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
14 "\n\rPueden plantear sus comentarios e inquietudes sobre el tema de la reunión en: [URL_DISCUCION]" +
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
15 "\n\rPara mayor información sobre cómo atender la reunión consulten: http://tinyurl.com/van-hispano" +
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
16 "\n\rPueden vincular el Google Calendar al suyo (http://screenr.com/nr7)";
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
17
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
18
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
19 public string Title { get; private set; }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
20 public string Location { get; private set; }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
21 public string Summary { get; private set; }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
22 public DateTime StartEvent { get; private set; }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
23 public DateTime EndEvent { get; private set; }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
24
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
25 public void Generate(Evento evento)
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
26 {
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
27 Title = "VAN sobre " + evento.Titulo;
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
28 Location = "http://snipr.com/virtualaltnet";
198
cd96cfc8a1f5 Se agrega la fecha de termino a Google Calendar.
alabra
parents: 185
diff changeset
29 StartEvent = evento.FechaInicio.Value;
cd96cfc8a1f5 Se agrega la fecha de termino a Google Calendar.
alabra
parents: 185
diff changeset
30 EndEvent = evento.FechaTermino.Value;
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
31 var cultureInfo = new CultureInfo( "es-ES", false ).DateTimeFormat;
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
32
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
33 Summary = TextoVan.Replace("[EVENTO_TIPO]", GetEventoTipo(evento.Tipo)).
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
34 Replace("[NOMBRE]", evento.Titulo).
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
35 Replace("[NOMBRE_EXPOSITOR]", GetPonentes(evento)).
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
36 Replace("[FECHA]", StartEvent.ToString("D", cultureInfo)).
288
a6037c6c88d8 Se soluciona bug #198 Bug: Summary incorrecto en Google Calendar.
user@MECHUQUE
parents: 231
diff changeset
37 Replace("[URL_DISCUCION]", evento.UrlInvitacion).
a6037c6c88d8 Se soluciona bug #198 Bug: Summary incorrecto en Google Calendar.
user@MECHUQUE
parents: 231
diff changeset
38 Replace("[HORA]",evento.FechaInicio.Value.ToShortTimeString());
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
39 }
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
40
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
41 private static string GetPonentes(Evento evento)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
42 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
43 var ponentes = evento.GetPonentesAsString(p => p.Nombre);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
44 return !string.IsNullOrWhiteSpace(ponentes) ? string.Format(", con {0}", ponentes) : string.Empty;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
45 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
46
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
47 private static string GetEventoTipo(TipoEvento tipo)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
48 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
49 switch (tipo)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
50 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
51 case TipoEvento.Van:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
52 return "una VAN";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
53 case TipoEvento.Cafe:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
54 return "un Café";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
55 case TipoEvento.GrupoEstudio:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
56 return "un Grupo de estudio";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
57 default:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
58 return string.Empty;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
59 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
60 }
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
61 }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
62 }