diff Agendas/trunk/src/Agendas.Domain/Evento.cs @ 225:f23ee59ef1bd

Otros ponentes
author nelopauselli
date Mon, 26 Sep 2011 08:47:01 -0300
parents 5346c0500594
children 11545cc95491
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs	Sun Sep 25 01:40:18 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs	Mon Sep 26 08:47:01 2011 -0300
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 
 namespace AltNetHispano.Agendas.Domain
 {
@@ -8,6 +9,7 @@
 		protected Evento()
 		{
 			_tracks = new List<Track>();
+			_otrosPonentes = new List<Persona>();
 			//_patrocinadores = new List<Patrocinador>();
 		}
 
@@ -90,6 +92,25 @@
 			get; set;
 		}
 
+		private readonly IList<Persona> _otrosPonentes;
+		public virtual IEnumerable<Persona> OtrosPonentes
+		{
+			get { return _otrosPonentes; }
+		}
+
+		public virtual void ActualizarOtrosPonentes(IEnumerable<Persona> otrosPonentes)
+		{
+			foreach (var otro in otrosPonentes)
+			{
+				if (!_otrosPonentes.Contains(otro))
+					_otrosPonentes.Add(otro);
+			}
+			var sobran = _otrosPonentes.Where(c => !otrosPonentes.Contains(c)).ToList();
+
+			foreach (var sobra in sobran)
+				_otrosPonentes.Remove(sobra);
+		}
+
 		//protected internal virtual void AddPatrocinador(Patrocinador patrocinador)
 		//{
 		//    _patrocinadores.Add(patrocinador);