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);