diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 4:49b572535156

proponer van publicar van propuesta comportamiento ante excepcion en publicador
author nelopauselli
date Tue, 08 Feb 2011 00:08:49 -0300
parents 5f007e266509
children 2912c1dd0e6b
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Sat Jan 22 20:23:50 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs	Tue Feb 08 00:08:49 2011 -0300
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using AltNetHispano.Agendas.Domain.Exceptions;
 
 namespace AltNetHispano.Agendas.Domain
 {
@@ -23,19 +24,40 @@
 			get { return _eventos; }
 		}
 
-
 		public void Publicar(Evento evento)
 		{
-			_eventos.Add(evento);
-
+			if (!evento.Fecha.HasValue)
+				throw new ValidationException();
+			
 			if (_publicador != null)
 				_publicador.Publicar(evento);
+			_eventos.Add(evento);
 		}
 
+		public void Publicar(Van van)
+		{
+			if (string.IsNullOrWhiteSpace(van.Ponente))
+				throw new ValidationException();
+			Publicar(van as Evento);
+		}
+
+
 		public void Recordar(Evento evento)
 		{
 			if (_recordador != null)
 				_recordador.Recordar(evento);
 		}
+
+		public void Proponer(Van van)
+		{
+			if (string.IsNullOrWhiteSpace(van.Titulo))
+				throw new ValidationException();
+			_eventos.Add(van);
+		}
+
+		public IList<Evento> GetEventosPropuestos()
+		{
+			return _eventos;
+		}
 	}
 }
\ No newline at end of file