Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 39:e548379cc314
track de cambios en evento
author | nelo@MTEySS.neluz.int |
---|---|
date | Fri, 18 Mar 2011 00:10:21 -0300 |
parents | 3c5657d99727 |
children | 07c47ea2ac00 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Mar 17 23:16:35 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Fri Mar 18 00:10:21 2011 -0300 @@ -38,6 +38,9 @@ if (_publicador != null) _publicador.Publicar(evento); + + evento.AddTracks(new Track(Accion.Publicar)); + _eventosRepository.Save(evento); _ponenteRepository.Save(ponente); } @@ -88,11 +91,19 @@ var ponente = GetPonente(ponenteNombre); if (evento.Titulo != titulo) - evento.CambiarTitulo(titulo); + { + evento.CambiarTitulo(titulo); + evento.AddTracks(new Track(Accion.CambiarTitulo)); + } - evento.Actualizar(ponente, fecha); + if (evento.Fecha != fecha || evento.Ponente != ponente) + { + evento.Actualizar(ponente, fecha); + evento.AddTracks(new Track(Accion.Modificar)); + } - if (_publicador != null) + + if (_publicador != null) _publicador.Publicar(evento); } @@ -109,13 +120,25 @@ private Ponente GetPonente(string nombre) { - return _ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre); + var ponente=_ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre); + _ponenteRepository.Save(ponente); + return ponente; } public void ModificarPropuesta(Guid id, string titulo, string ponenteNombre) { ModificarEvento(id, titulo, ponenteNombre, null); } + + public void RealizarEvento(Guid eventoId, string sintesis) + { + var evento = _eventosRepository.Get(eventoId); + if (evento != null) + { + evento.Realizado(sintesis); + evento.AddTracks(new Track(Accion.Realizar)); + } + } } public class EventoNotFoundException : Exception