comparison Agendas/trunk/src/Agendas.Twitter/Recordatorios.cs @ 217:c4c60e034103 deploy 2011-09-06

sugerencia de recordatorios
author nelopauselli
date Tue, 06 Sep 2011 18:09:43 -0300
parents
children e5959f3405e0
comparison
equal deleted inserted replaced
216:8a8c35302b81 217:c4c60e034103
1 using System;
2 using System.Collections.Generic;
3 using AltNetHispano.Agendas.Domain;
4
5 namespace AltNetHispano.Agendas.Twitter
6 {
7 public class Recordatorios
8 {
9 public Recordatorios(Evento evento)
10 {
11 if (!evento.FechaInicio.HasValue) throw new ArgumentNullException("evento");
12
13 Items = new List<RecordatorioItem>();
14
15 var fechaInicio = evento.FechaInicio.Value;
16
17 Cabecera = "Recuerde agendar el evento en twuffer u otro servicio similar.";
18 CabeceraLink = "http://twuffer.com/";
19
20 for (int hora = 3; hora > 0; hora--)
21 {
22 var mensaje = TwitterStringHelper.TipoEvento(evento.Tipo) + " sobre " + evento.Titulo + " con " +
23 TwitterStringHelper.Ponente(evento.Ponente) + " inicia en [" + hora + "] hora" +
24 (hora > 1 ? "s" : string.Empty) + " " +
25 TwitterStringHelper.Hora(fechaInicio) + " http://snipr.com/virtualaltnet";
26
27 var fechaRecordatorio = fechaInicio.AddHours(hora * -1);
28 Items.Add(new RecordatorioItem(fechaRecordatorio, mensaje));
29 }
30
31 var mensaje15 = TwitterStringHelper.TipoEvento(evento.Tipo) + " sobre " + evento.Titulo + " con " +
32 TwitterStringHelper.Ponente(evento.Ponente) + " inicia en [15] minutos " +
33 TwitterStringHelper.Hora(fechaInicio) + " http://snipr.com/virtualaltnet";
34
35 var fechaRecordatorio15 = fechaInicio.AddMinutes(-15);
36 Items.Add(new RecordatorioItem(fechaRecordatorio15, mensaje15));
37 }
38
39 public string CabeceraLink { get; set; }
40
41 public IList<RecordatorioItem> Items { get; set; }
42
43 public string Cabecera { get; set; }
44 }
45
46 public class RecordatorioItem
47 {
48 public RecordatorioItem(DateTime momento, string mensaje)
49 {
50 Fecha = momento.ToString("dd/MM/yyyy");
51 Hora = momento.ToString("HH:mm");
52 Mensaje = mensaje;
53 }
54
55 public string Mensaje { get; set; }
56 public string Hora { get; set; }
57 public string Fecha { get; set; }
58 }
59 }