diff 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
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Mon May 23 20:13:37 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Mon May 23 20:43:01 2011 -0300
@@ -31,25 +31,27 @@
 			return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>();
 		}
 
-		public IList<Evento> GetEventosPublicados()
+		public IList<Evento> GetEventosAgendados()
 		{
 			return _eventosRepository.GetEventosConFecha() ?? new List<Evento>();
 		}
 
-		public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha)
+		public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion)
 		{
 			Evento evento = _eventosRepository.Get(id);
 			if (evento == null)
 				throw new EventoNotFoundException(id);
 
-			Ponente ponente=null;
+			Ponente ponente = null;
 			if (!string.IsNullOrWhiteSpace(ponenteNombre))
 				ponente = GetPonente(ponenteNombre);
 
 			if (evento.Titulo != titulo)
 				evento.CambiarTitulo(titulo);
 
-			if (evento.Fecha != fecha || evento.Ponente != ponente)
+			if (evento.Fecha == null && fecha != null)
+				evento.Agendar(ponente, fecha, urlInvitacion);
+			else if (evento.Fecha != fecha || evento.Ponente != ponente)
 				evento.Actualizar(ponente, fecha);
 
 			if (_publicador != null)
@@ -58,15 +60,15 @@
 			return new Resultado(true);
 		}
 
-		public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre)
+		public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre, string urlInvitacion)
 		{
-			return ModificarEvento(id, titulo, ponenteNombre, null);
+			return ModificarEvento(id, titulo, ponenteNombre, null, urlInvitacion);
 		}
 
-		public Resultado Proponer(string titulo, string ponenteNombre)
+		public Resultado Proponer(string titulo, string ponenteNombre, string urlInvitacion)
 		{
 			Ponente ponente = GetPonente(ponenteNombre);
-			var evento = Evento.Proponer(titulo, ponente);
+			var evento = Evento.Proponer(titulo, ponente, urlInvitacion);
 
 			if (string.IsNullOrWhiteSpace(evento.Titulo))
 				return new Resultado(false);