Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 234:cc71f96ac134
Combinar
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 04 Oct 2011 20:36:27 -0300 |
parents | e5959f3405e0 |
children | c61954d24c8c |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue Oct 04 20:34:46 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue Oct 04 20:36:27 2011 -0300 @@ -48,9 +48,19 @@ public EventoResultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion) { - Evento evento = GetEvento(eventoId); - Persona persona = _personaRepository.Get(ponenteId); + Evento evento = GetEvento(eventoId); + + if (evento.Tipo == TipoEvento.Van && ponenteId == Guid.Empty) + return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); + Persona persona = null; + if (ponenteId != Guid.Empty) + { + persona = _personaRepository.Get(ponenteId); + if (persona == null) + return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null); + } + if (evento.Titulo != titulo) evento.CambiarTitulo(titulo); @@ -92,23 +102,24 @@ return new EventoResultado(true,"Evento propuesto", warnings); } - 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) + public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo, IEnumerable<Guid> colaboradoresId = null) { if (!fechaInicio.HasValue) return new EventoResultado(false, "Debe indicar la fecha", null); if (!fechaTermino.HasValue) return new EventoResultado(false, "Debe indicar la hora y duración", null); + if (tipo==TipoEvento.Van && ponenteId == Guid.Empty) + return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); - Persona persona = _personaRepository.Get(ponenteId); - if (persona == null) - return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null); + Persona persona = null; + if (ponenteId != Guid.Empty) + { + persona = _personaRepository.Get(ponenteId); + if (persona == null) + return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null); + } - var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); + var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); if (existeOtroEvento != null) return new EventoResultado(false, string.Format(