# HG changeset patch # User nelopauselli # Date 1305588211 10800 # Node ID 3d9e6d56d903631ae705c0c6e24772b8e7f4017b # Parent 65bbcdd5d35799d0e481ca6a76a6558f2c722f8c Refactoring del track de cambios de un evento diff -r 65bbcdd5d357 -r 3d9e6d56d903 Agendas/trunk/src/Agendas.Domain/Agenda.cs --- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon May 16 20:15:05 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon May 16 20:23:31 2011 -0300 @@ -64,8 +64,7 @@ public Resultado Proponer(string titulo, string ponenteNombre) { Ponente ponente = GetPonente(ponenteNombre); - var evento = new Evento(titulo); - evento.Actualizar(ponente); + var evento = Evento.Proponer(titulo, ponente); if (string.IsNullOrWhiteSpace(evento.Titulo)) return new Resultado(false); @@ -78,15 +77,18 @@ public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha) { + if (!fecha.HasValue) + return new Resultado(false); + if (string.IsNullOrWhiteSpace(ponenteNombre)) + return new Resultado(false); + Ponente ponente = GetPonente(ponenteNombre); - Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento(titulo); - evento.Publicar(ponente, fecha); - - if (!evento.Fecha.HasValue) - return new Resultado(false); - if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre)) - return new Resultado(false); + Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); + if (evento == null) + evento = Evento.Publicar(titulo, ponente, fecha.Value); + else + evento.Publicar(ponente, fecha); if (_publicador != null) _publicador.Publicar(evento); diff -r 65bbcdd5d357 -r 3d9e6d56d903 Agendas/trunk/src/Agendas.Domain/Agendas.Domain.csproj --- a/Agendas/trunk/src/Agendas.Domain/Agendas.Domain.csproj Mon May 16 20:15:05 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agendas.Domain.csproj Mon May 16 20:23:31 2011 -0300 @@ -55,6 +55,7 @@ +