Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 75:96d7609f2e08
Agendar evento propuesto
author | nelopauselli |
---|---|
date | Mon, 23 May 2011 20:43:01 -0300 |
parents | bc46e7426c80 |
children | 8df9db937434 |
comparison
equal
deleted
inserted
replaced
74:bc46e7426c80 | 75:96d7609f2e08 |
---|---|
29 public IList<Evento> GetEventosPropuestos() | 29 public IList<Evento> GetEventosPropuestos() |
30 { | 30 { |
31 return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>(); | 31 return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>(); |
32 } | 32 } |
33 | 33 |
34 public IList<Evento> GetEventosPublicados() | 34 public IList<Evento> GetEventosAgendados() |
35 { | 35 { |
36 return _eventosRepository.GetEventosConFecha() ?? new List<Evento>(); | 36 return _eventosRepository.GetEventosConFecha() ?? new List<Evento>(); |
37 } | 37 } |
38 | 38 |
39 public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha) | 39 public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) |
40 { | 40 { |
41 Evento evento = _eventosRepository.Get(id); | 41 Evento evento = _eventosRepository.Get(id); |
42 if (evento == null) | 42 if (evento == null) |
43 throw new EventoNotFoundException(id); | 43 throw new EventoNotFoundException(id); |
44 | 44 |
45 Ponente ponente=null; | 45 Ponente ponente = null; |
46 if (!string.IsNullOrWhiteSpace(ponenteNombre)) | 46 if (!string.IsNullOrWhiteSpace(ponenteNombre)) |
47 ponente = GetPonente(ponenteNombre); | 47 ponente = GetPonente(ponenteNombre); |
48 | 48 |
49 if (evento.Titulo != titulo) | 49 if (evento.Titulo != titulo) |
50 evento.CambiarTitulo(titulo); | 50 evento.CambiarTitulo(titulo); |
51 | 51 |
52 if (evento.Fecha != fecha || evento.Ponente != ponente) | 52 if (evento.Fecha == null && fecha != null) |
53 evento.Agendar(ponente, fecha, urlInvitacion); | |
54 else if (evento.Fecha != fecha || evento.Ponente != ponente) | |
53 evento.Actualizar(ponente, fecha); | 55 evento.Actualizar(ponente, fecha); |
54 | 56 |
55 if (_publicador != null) | 57 if (_publicador != null) |
56 _publicador.Publicar(evento); | 58 _publicador.Publicar(evento); |
57 | 59 |
58 return new Resultado(true); | 60 return new Resultado(true); |
59 } | 61 } |
60 | 62 |
61 public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre) | 63 public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre, string urlInvitacion) |
62 { | 64 { |
63 return ModificarEvento(id, titulo, ponenteNombre, null); | 65 return ModificarEvento(id, titulo, ponenteNombre, null, urlInvitacion); |
64 } | 66 } |
65 | 67 |
66 public Resultado Proponer(string titulo, string ponenteNombre) | 68 public Resultado Proponer(string titulo, string ponenteNombre, string urlInvitacion) |
67 { | 69 { |
68 Ponente ponente = GetPonente(ponenteNombre); | 70 Ponente ponente = GetPonente(ponenteNombre); |
69 var evento = Evento.Proponer(titulo, ponente); | 71 var evento = Evento.Proponer(titulo, ponente, urlInvitacion); |
70 | 72 |
71 if (string.IsNullOrWhiteSpace(evento.Titulo)) | 73 if (string.IsNullOrWhiteSpace(evento.Titulo)) |
72 return new Resultado(false); | 74 return new Resultado(false); |
73 | 75 |
74 _eventosRepository.Save(evento); | 76 _eventosRepository.Save(evento); |