Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 94:db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona
Alta Automatica de cuentas de twitter creando la persona
author | Nelo@Kenia.neluz.int |
---|---|
date | Sat, 04 Jun 2011 12:11:17 -0300 |
parents | 26d0513a8410 |
children | 2434c2323f3d |
comparison
equal
deleted
inserted
replaced
93:65f0b3d70c18 | 94:db4b1e2cae49 |
---|---|
6 namespace AltNetHispano.Agendas.Domain | 6 namespace AltNetHispano.Agendas.Domain |
7 { | 7 { |
8 public class Agenda | 8 public class Agenda |
9 { | 9 { |
10 private readonly IEventoRepository _eventosRepository; | 10 private readonly IEventoRepository _eventosRepository; |
11 private readonly IPonenteRepository _ponenteRepository; | 11 private readonly IPersonaRepository _personaRepository; |
12 private readonly IPublicador _publicador; | 12 private readonly IPublicador _publicador; |
13 | 13 |
14 public Agenda(IPublicador publicador, IEventoRepository eventosRepository, | 14 public Agenda(IPublicador publicador, IEventoRepository eventosRepository, |
15 IPonenteRepository ponenteRepository) | 15 IPersonaRepository personaRepository) |
16 { | 16 { |
17 _publicador = publicador; | 17 _publicador = publicador; |
18 _ponenteRepository = ponenteRepository; | 18 _personaRepository = personaRepository; |
19 _eventosRepository = eventosRepository; | 19 _eventosRepository = eventosRepository; |
20 } | 20 } |
21 | 21 |
22 public Evento GetEvento(Guid eventoId) | 22 public Evento GetEvento(Guid eventoId) |
23 { | 23 { |
39 | 39 |
40 public Resultado ModificarEvento(Guid eventoId, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) | 40 public Resultado ModificarEvento(Guid eventoId, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) |
41 { | 41 { |
42 Evento evento = GetEvento(eventoId); | 42 Evento evento = GetEvento(eventoId); |
43 | 43 |
44 Ponente ponente = null; | 44 Persona persona = null; |
45 if (!string.IsNullOrWhiteSpace(ponenteNombre)) | 45 if (!string.IsNullOrWhiteSpace(ponenteNombre)) |
46 ponente = GetPonente(ponenteNombre); | 46 persona = GetPonente(ponenteNombre); |
47 | 47 |
48 if (evento.Titulo != titulo) | 48 if (evento.Titulo != titulo) |
49 evento.CambiarTitulo(titulo); | 49 evento.CambiarTitulo(titulo); |
50 | 50 |
51 if (evento.Fecha == null && fecha != null) | 51 if (evento.Fecha == null && fecha != null) |
52 evento.Agendar(ponente, fecha, urlInvitacion); | 52 evento.Agendar(persona, fecha, urlInvitacion); |
53 else if (evento.Fecha != fecha || evento.Ponente != ponente || evento.UrlInvitacion != urlInvitacion) | 53 else if (evento.Fecha != fecha || evento.Persona != persona || evento.UrlInvitacion != urlInvitacion) |
54 evento.Actualizar(ponente, fecha, urlInvitacion); | 54 evento.Actualizar(persona, fecha, urlInvitacion); |
55 | 55 |
56 Notify(evento); | 56 Notify(evento); |
57 | 57 |
58 return new Resultado(true); | 58 return new Resultado(true); |
59 } | 59 } |
63 return ModificarEvento(id, titulo, ponenteNombre, null, urlInvitacion); | 63 return ModificarEvento(id, titulo, ponenteNombre, null, urlInvitacion); |
64 } | 64 } |
65 | 65 |
66 public Resultado Proponer(string titulo, string ponenteNombre, string urlInvitacion) | 66 public Resultado Proponer(string titulo, string ponenteNombre, string urlInvitacion) |
67 { | 67 { |
68 Ponente ponente = GetPonente(ponenteNombre); | 68 Persona persona = GetPonente(ponenteNombre); |
69 var evento = Evento.Proponer(titulo, ponente, urlInvitacion); | 69 var evento = Evento.Proponer(titulo, persona, urlInvitacion); |
70 | 70 |
71 if (string.IsNullOrWhiteSpace(evento.Titulo)) | 71 if (string.IsNullOrWhiteSpace(evento.Titulo)) |
72 return new Resultado(false); | 72 return new Resultado(false); |
73 | 73 |
74 Notify(evento); | 74 Notify(evento); |
75 | 75 |
76 _eventosRepository.Save(evento); | 76 _eventosRepository.Save(evento); |
77 _ponenteRepository.Save(ponente); | 77 _personaRepository.Save(persona); |
78 | 78 |
79 return new Resultado(true); | 79 return new Resultado(true); |
80 } | 80 } |
81 | 81 |
82 public Resultado Agendar(string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) | 82 public Resultado Agendar(string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) |
84 if (!fecha.HasValue) | 84 if (!fecha.HasValue) |
85 return new Resultado(false); | 85 return new Resultado(false); |
86 if (string.IsNullOrWhiteSpace(ponenteNombre)) | 86 if (string.IsNullOrWhiteSpace(ponenteNombre)) |
87 return new Resultado(false); | 87 return new Resultado(false); |
88 | 88 |
89 Ponente ponente = GetPonente(ponenteNombre); | 89 Persona persona = GetPonente(ponenteNombre); |
90 | 90 |
91 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); | 91 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); |
92 if (evento == null) | 92 if (evento == null) |
93 evento = Evento.Agendar(titulo, ponente, fecha.Value, urlInvitacion); | 93 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion); |
94 else | 94 else |
95 evento.Agendar(ponente, fecha, urlInvitacion); | 95 evento.Agendar(persona, fecha, urlInvitacion); |
96 | 96 |
97 Notify(evento); | 97 Notify(evento); |
98 | 98 |
99 _eventosRepository.Save(evento); | 99 _eventosRepository.Save(evento); |
100 _ponenteRepository.Save(ponente); | 100 _personaRepository.Save(persona); |
101 | 101 |
102 return new Resultado(true); | 102 return new Resultado(true); |
103 } | 103 } |
104 | 104 |
105 public Resultado Confirmar(Guid eventoId) | 105 public Resultado Confirmar(Guid eventoId) |
135 _publicador.Publicar(tracks); | 135 _publicador.Publicar(tracks); |
136 } | 136 } |
137 | 137 |
138 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) | 138 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) |
139 { | 139 { |
140 var ponente = new Ponente(nombre, mail, twitter, blog); | 140 var ponente = new Persona(nombre, mail, twitter, blog); |
141 _ponenteRepository.Save(ponente); | 141 _personaRepository.Save(ponente); |
142 } | 142 } |
143 | 143 |
144 private Ponente GetPonente(string nombre) | 144 private Persona GetPonente(string nombre) |
145 { | 145 { |
146 Ponente ponente = _ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre); | 146 Persona persona = _personaRepository.GetByNombre(nombre) ?? new Persona(nombre); |
147 _ponenteRepository.Save(ponente); | 147 _personaRepository.Save(persona); |
148 return ponente; | 148 return persona; |
149 } | 149 } |
150 } | 150 } |
151 } | 151 } |