comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 57:3d9e6d56d903

Refactoring del track de cambios de un evento
author nelopauselli
date Mon, 16 May 2011 20:23:31 -0300
parents 3059a5f8930f
children 4a4e12e32256
comparison
equal deleted inserted replaced
56:65bbcdd5d357 57:3d9e6d56d903
62 } 62 }
63 63
64 public Resultado Proponer(string titulo, string ponenteNombre) 64 public Resultado Proponer(string titulo, string ponenteNombre)
65 { 65 {
66 Ponente ponente = GetPonente(ponenteNombre); 66 Ponente ponente = GetPonente(ponenteNombre);
67 var evento = new Evento(titulo); 67 var evento = Evento.Proponer(titulo, ponente);
68 evento.Actualizar(ponente);
69 68
70 if (string.IsNullOrWhiteSpace(evento.Titulo)) 69 if (string.IsNullOrWhiteSpace(evento.Titulo))
71 return new Resultado(false); 70 return new Resultado(false);
72 71
73 _eventosRepository.Save(evento); 72 _eventosRepository.Save(evento);
76 return new Resultado(true); 75 return new Resultado(true);
77 } 76 }
78 77
79 public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha) 78 public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha)
80 { 79 {
80 if (!fecha.HasValue)
81 return new Resultado(false);
82 if (string.IsNullOrWhiteSpace(ponenteNombre))
83 return new Resultado(false);
84
81 Ponente ponente = GetPonente(ponenteNombre); 85 Ponente ponente = GetPonente(ponenteNombre);
82 86
83 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento(titulo); 87 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo);
84 evento.Publicar(ponente, fecha); 88 if (evento == null)
85 89 evento = Evento.Publicar(titulo, ponente, fecha.Value);
86 if (!evento.Fecha.HasValue) 90 else
87 return new Resultado(false); 91 evento.Publicar(ponente, fecha);
88 if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre))
89 return new Resultado(false);
90 92
91 if (_publicador != null) 93 if (_publicador != null)
92 _publicador.Publicar(evento); 94 _publicador.Publicar(evento);
93 95
94 _eventosRepository.Save(evento); 96 _eventosRepository.Save(evento);