Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 225:f23ee59ef1bd
Otros ponentes
author | nelopauselli |
---|---|
date | Mon, 26 Sep 2011 08:47:01 -0300 |
parents | 8a8c35302b81 |
children | e5959f3405e0 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sun Sep 25 01:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon Sep 26 08:47:01 2011 -0300 @@ -93,6 +93,11 @@ } public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo) + { + return Agendar(titulo, ponenteId, fechaInicio, fechaTermino, urlInvitacion, tipo, null); + } + + public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo, IEnumerable<Guid> colaboradoresId) { if (!fechaInicio.HasValue) return new EventoResultado(false, "Debe indicar la fecha", null); @@ -125,7 +130,21 @@ else evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion); - Notify(evento); + var colaboradores = new List<Persona>(); + if (colaboradoresId!=null) + { + foreach (var colaboradorId in colaboradoresId) + { + var colaborador = _personaRepository.Get(colaboradorId); + if (colaborador == null) + return new EventoResultado(false, string.Format("No se encontrĂ³ el colaborador indicado ({0})", colaboradorId), + null); + colaboradores.Add(colaborador); + } + evento.ActualizarOtrosPonentes(colaboradores); + } + + Notify(evento); _eventosRepository.Save(evento);