annotate Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs @ 231:e5959f3405e0

Eventos sin ponentes
author nelopauselli
date Wed, 28 Sep 2011 20:02:44 -0300
parents 33976aea7546
children a6037c6c88d8
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]." +
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
13 "\n\rFecha: [FECHA] a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." +
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)).
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
37 Replace("[URL_DISCUCION]", evento.UrlInvitacion);
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
38 }
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
39
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
40 private static string GetPonentes(Evento evento)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
41 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
42 var ponentes = evento.GetPonentesAsString(p => p.Nombre);
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
43 return !string.IsNullOrWhiteSpace(ponentes) ? string.Format(", con {0}", ponentes) : string.Empty;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
44 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
45
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
46 private static string GetEventoTipo(TipoEvento tipo)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
47 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
48 switch (tipo)
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
49 {
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
50 case TipoEvento.Van:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
51 return "una VAN";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
52 case TipoEvento.Cafe:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
53 return "un Café";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
54 case TipoEvento.GrupoEstudio:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
55 return "un Grupo de estudio";
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
56 default:
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
57 return string.Empty;
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
58 }
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 229
diff changeset
59 }
130
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
60 }
0ea32a748453 Se termina el publicador via el calendario de google, además se realizan las pruebas unitarias.
alabra
parents:
diff changeset
61 }