diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 29:016b9b9b8d3a

Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta Ășltima promoviendola a evento publicado.
author nelo@MTEySS.neluz.int
date Wed, 16 Mar 2011 08:25:02 -0300
parents 71b02443450a
children 65bbf1ab2b24
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Tue Mar 15 09:28:04 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Wed Mar 16 08:25:02 2011 -0300
@@ -26,20 +26,24 @@
         {
         	var ponente = GetPonente(ponenteNombre);
 
-            var evento = new Evento{Titulo=titulo, Ponente = ponente, Fecha = fecha};
+
+        	var evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento {Titulo = titulo};
+        	evento.Ponente = ponente;
+        	evento.Fecha = fecha;
+
 
-			if (!evento.Fecha.HasValue)
-				throw new ValidationException();
-            if (NoEstaAutenticado(_seguridad))
-                throw new UsuarioNoAutenticadoException();
-            if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre))
-                throw new ValidationException();
+        	if (!evento.Fecha.HasValue)
+        		throw new ValidationException();
+        	if (NoEstaAutenticado(_seguridad))
+        		throw new UsuarioNoAutenticadoException();
+        	if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre))
+        		throw new ValidationException();
 
-			if (_publicador != null)
-				_publicador.Publicar(evento);
-			_eventosRepository.Save(evento);
-			_ponenteRepository.Save(ponente);
-		}
+        	if (_publicador != null)
+        		_publicador.Publicar(evento);
+        	_eventosRepository.Save(evento);
+        	_ponenteRepository.Save(ponente);
+        }
 
 		public void Recordar(Guid eventoId)
 		{