diff Agendas/trunk/src/Agendas.Domain/Evento.cs @ 235:c61954d24c8c

Quitando ponente principal y utilizando siempre la lista de ponentes
author nelopauselli
date Tue, 04 Oct 2011 20:42:35 -0300
parents e5959f3405e0
children 51faeabfb9d9
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs	Wed Sep 28 20:02:44 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs	Tue Oct 04 20:42:35 2011 -0300
@@ -9,7 +9,7 @@
 		protected Evento()
 		{
 			_tracks = new List<Track>();
-			_otrosPonentes = new List<Persona>();
+			_ponentes = new List<Persona>();
 			//_patrocinadores = new List<Patrocinador>();
 		}
 
@@ -51,7 +51,7 @@
 		/// <summary>
 		/// Ponente o responsable del evento
 		/// </summary>
-		public virtual Persona Ponente { get; private set; }
+		/// public virtual Persona Ponente { get; private set; }
 
 		/// <summary>
 		/// Track de cambios que ha sufrido el evento
@@ -92,28 +92,23 @@
 			get; set;
 		}
 
-		private readonly IList<Persona> _otrosPonentes;
-		public virtual IEnumerable<Persona> OtrosPonentes
-		{
-			get { return _otrosPonentes; }
-		}
-
+		private readonly IList<Persona> _ponentes;
 		public virtual IEnumerable<Persona> Ponentes
 		{
-			get { return Ponente != null ? new List<Persona> {Ponente}.Union(OtrosPonentes) : OtrosPonentes; }
+			get { return _ponentes; }
 		}
 
 		public virtual void ActualizarOtrosPonentes(IEnumerable<Persona> otrosPonentes)
 		{
 			foreach (var otro in otrosPonentes)
 			{
-				if (!_otrosPonentes.Contains(otro))
-					_otrosPonentes.Add(otro);
+				if (!_ponentes.Contains(otro))
+					_ponentes.Add(otro);
 			}
-			var sobran = _otrosPonentes.Where(c => !otrosPonentes.Contains(c)).ToList();
+			var sobran = _ponentes.Where(c => !otrosPonentes.Contains(c)).ToList();
 
 			foreach (var sobra in sobran)
-				_otrosPonentes.Remove(sobra);
+				_ponentes.Remove(sobra);
 		}
 
 		//protected internal virtual void AddPatrocinador(Patrocinador patrocinador)
@@ -139,9 +134,9 @@
 		/// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
 		/// <param name="tipo">Tipo del evento</param>
 		/// <returns></returns>
-		public static Evento Proponer(string titulo, Persona persona, string urlInvitacion, TipoEvento tipo)
+		public static Evento Proponer(string titulo, string urlInvitacion, TipoEvento tipo)
 		{
-			var evento = new Evento { Titulo = titulo, Ponente = persona, UrlInvitacion = urlInvitacion, Tipo = tipo };
+			var evento = new Evento { Titulo = titulo, UrlInvitacion = urlInvitacion, Tipo = tipo };
 			evento.Estado.Promover(evento, Accion.Proponer);
 
 			return evento;
@@ -151,16 +146,15 @@
 	    /// Agenda un evento que no estaba propuesto
 	    /// </summary>
 	    /// <param name="titulo">Título del evento a agendar</param>
-	    /// <param name="persona">Ponente para el evento</param>
 	    /// <param name="fechaInicio">Fecha de realización del evento</param>
 	    /// <param name="fechaTermino">Fecha de termino del evento</param>
 	    /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
 	    /// <param name="tipo">Tipo del evento</param>
 	    /// <returns></returns>
-	    public static Evento Agendar(string titulo, Persona persona, DateTime fechaInicio, DateTime fechaTermino, string urlInvitacion, TipoEvento tipo)
+	    public static Evento Agendar(string titulo, DateTime fechaInicio, DateTime fechaTermino, string urlInvitacion, TipoEvento tipo)
 		{
 			var evento = new Evento { Titulo = titulo, Tipo = tipo };
-			evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion);
+			evento.Agendar(fechaInicio, fechaTermino, urlInvitacion);
 
 			return evento;
 		}
@@ -168,22 +162,19 @@
 	    /// <summary>
 	    /// Agenda el evento actual
 	    /// </summary>
-	    /// <param name="persona">Ponente para el evento</param>
         /// <param name="fechaInicio">Fecha de realización del evento</param>
 	    /// <param name="fechaTermino">Fecha de termino del evento</param>
 	    /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
-	    public virtual void Agendar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
+	    public virtual void Agendar(DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
 		{
-			Ponente = persona;
             FechaInicio = fechaInicio;
 	        FechaTermino = fechaTermino;
 			UrlInvitacion = urlInvitacion;
 			Estado.Promover(this, Accion.Agendar);
 		}
 
-		public virtual void Actualizar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
+		public virtual void Actualizar(DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
 		{
-			Ponente = persona;
 			FechaInicio = fechaInicio;
 		    FechaTermino = fechaTermino;
 			UrlInvitacion = urlInvitacion;