Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Evento.cs @ 237:51faeabfb9d9
Todos los tests en verde quitando al ponente principal
author | nelopauselli |
---|---|
date | Tue, 04 Oct 2011 21:30:55 -0300 |
parents | c61954d24c8c |
children | 72a96459f910 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs Tue Oct 04 20:42:46 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs Tue Oct 04 21:30:55 2011 -0300 @@ -98,17 +98,28 @@ get { return _ponentes; } } - public virtual void ActualizarOtrosPonentes(IEnumerable<Persona> otrosPonentes) + public virtual void ActualizarPonentes(IEnumerable<Persona> ponentes, Accion? action) { - foreach (var otro in otrosPonentes) + bool modificados = false; + + foreach (var ponente in ponentes) { - if (!_ponentes.Contains(otro)) - _ponentes.Add(otro); + if (!_ponentes.Contains(ponente)) + { + _ponentes.Add(ponente); + modificados = true; + } } - var sobran = _ponentes.Where(c => !otrosPonentes.Contains(c)).ToList(); + var sobran = _ponentes.Where(c => !ponentes.Contains(c)).ToList(); foreach (var sobra in sobran) + { _ponentes.Remove(sobra); + modificados = true; + } + + if (modificados && action.HasValue) + AddTrack(new Track(this, action.Value)); } //protected internal virtual void AddPatrocinador(Patrocinador patrocinador)