comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 196:bb7a60c28d8d

TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
author juanjose.montesdeocaarbos
date Sat, 13 Aug 2011 01:52:00 -0300
parents 4d0b2552edb2
children 5346c0500594 04972ef8b6d2
comparison
equal deleted inserted replaced
195:4d0b2552edb2 196:bb7a60c28d8d
103 if (persona == null) 103 if (persona == null)
104 return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null); 104 return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null);
105 105
106 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); 106 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo);
107 107
108 foreach (var e in _eventosRepository.GetActivos())
109 {
110 if (!e.Equals(evento) && fechaInicio <= e.FechaTermino && fechaTermino >= e.FechaInicio)
111 {
112 return new EventoResultado(false, string.Format("El evento que está intentando agendar entra en conflicto con '{0}'", e.Titulo), null);
113 }
114 }
115
108 if (evento == null) 116 if (evento == null)
109 evento = Evento.Agendar(titulo, persona, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo); 117 evento = Evento.Agendar(titulo, persona, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo);
110 else 118 else
111 evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion); 119 evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion);
112 120
113 foreach (var e in _eventosRepository.GetActivos())
114 {
115 if (!e.Equals(evento) && (evento.FechaInicio <= e.FechaTermino && evento.FechaTermino >= e.FechaInicio))
116 {
117 return new EventoResultado(false, string.Format("El evento que está intentando agendar entra en conflicto con '{0}'", evento.Titulo), null);
118 }
119 }
120 Notify(evento); 121 Notify(evento);
121 122
122 _eventosRepository.Save(evento); 123 _eventosRepository.Save(evento);
123 124
124 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 125 var warnings = evento.GetLogsNews().Where(l => !l.Successful);