Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 54:3059a5f8930f
Code cleanup
author | nelopauselli |
---|---|
date | Sat, 14 May 2011 13:01:24 -0300 |
parents | d149bfea3892 |
children | 3d9e6d56d903 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sat May 14 12:45:50 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sat May 14 13:01:24 2011 -0300 @@ -7,12 +7,13 @@ { public class Agenda { + private readonly IEventoRepository _eventosRepository; + private readonly IPonenteRepository _ponenteRepository; private readonly IPublicador _publicador; private readonly IRecordador _recordador; - private readonly IEventoRepository _eventosRepository; - private readonly IPonenteRepository _ponenteRepository; - public Agenda(IPublicador publicador, IRecordador recordador, IEventoRepository eventosRepository, IPonenteRepository ponenteRepository) + public Agenda(IPublicador publicador, IRecordador recordador, IEventoRepository eventosRepository, + IPonenteRepository ponenteRepository) { _publicador = publicador; _ponenteRepository = ponenteRepository; @@ -20,39 +21,51 @@ _recordador = recordador; } - public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha) - { - var ponente = GetPonente(ponenteNombre); + public Evento GetEvento(Guid id) + { + return _eventosRepository.Get(id); + } - var evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento (titulo); - evento.Publicar(ponente, fecha); + public IList<Evento> GetEventosPropuestos() + { + return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>(); + } - if (!evento.Fecha.HasValue) - return new Resultado(false); - if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre)) - return new Resultado(false); + public IList<Evento> GetEventosPublicados() + { + return _eventosRepository.GetEventosConFecha() ?? new List<Evento>(); + } - if (_publicador != null) - _publicador.Publicar(evento); + public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha) + { + Evento evento = _eventosRepository.Get(id); + if (evento == null) + throw new EventoNotFoundException(id); - _eventosRepository.Save(evento); - _ponenteRepository.Save(ponente); + Ponente ponente = GetPonente(ponenteNombre); + + if (evento.Titulo != titulo) + evento.CambiarTitulo(titulo); - return new Resultado(true); - } + if (evento.Fecha != fecha || evento.Ponente != ponente) + evento.Actualizar(ponente, fecha); + + if (_publicador != null) + _publicador.Publicar(evento); - public void Recordar(Guid eventoId) + return new Resultado(true); + } + + public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre) { - var evento = _eventosRepository.Get(eventoId); - if (_recordador != null) - _recordador.Recordar(evento); + return ModificarEvento(id, titulo, ponenteNombre, null); } public Resultado Proponer(string titulo, string ponenteNombre) { - var ponente = GetPonente(ponenteNombre); - var evento = new Evento (titulo); - evento.Actualizar(ponente); + Ponente ponente = GetPonente(ponenteNombre); + var evento = new Evento(titulo); + evento.Actualizar(ponente); if (string.IsNullOrWhiteSpace(evento.Titulo)) return new Resultado(false); @@ -63,64 +76,52 @@ return new Resultado(true); } - public IList<Evento> GetEventosPropuestos() - { - return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>(); - } - - public IList<Evento> GetEventosPublicados() - { - return _eventosRepository.GetEventosConFecha() ?? new List<Evento>(); - } - - public Resultado ModificarEvento(Guid id, string titulo, string ponenteNombre, DateTime? fecha) + public Resultado Publicar(string titulo, string ponenteNombre, DateTime? fecha) { - var evento = _eventosRepository.Get(id); - if (evento == null) - throw new EventoNotFoundException(id); + Ponente ponente = GetPonente(ponenteNombre); - var ponente = GetPonente(ponenteNombre); + Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo) ?? new Evento(titulo); + evento.Publicar(ponente, fecha); - if (evento.Titulo != titulo) - evento.CambiarTitulo(titulo); + if (!evento.Fecha.HasValue) + return new Resultado(false); + if (string.IsNullOrWhiteSpace(evento.Ponente.Nombre)) + return new Resultado(false); - if (evento.Fecha != fecha || evento.Ponente != ponente) - evento.Actualizar(ponente, fecha); + if (_publicador != null) + _publicador.Publicar(evento); - if (_publicador != null) - _publicador.Publicar(evento); + _eventosRepository.Save(evento); + _ponenteRepository.Save(ponente); return new Resultado(true); } - public Evento GetEvento(Guid id) + public void RealizarEvento(Guid eventoId, string sintesis) { - return _eventosRepository.Get(id); + Evento evento = _eventosRepository.Get(eventoId); + if (evento != null) + evento.Realizado(sintesis); + } + + public void Recordar(Guid eventoId) + { + Evento evento = _eventosRepository.Get(eventoId); + if (_recordador != null) + _recordador.Recordar(evento); } public void RegistrarPonente(string nombre, string mail, string twitter, string blog) { - var ponente = new Ponente(nombre, mail, twitter, blog); + var ponente = new Ponente(nombre, mail, twitter, blog); _ponenteRepository.Save(ponente); } private Ponente GetPonente(string nombre) { - var ponente=_ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre); - _ponenteRepository.Save(ponente); - return ponente; + Ponente ponente = _ponenteRepository.GetByNombre(nombre) ?? new Ponente(nombre); + _ponenteRepository.Save(ponente); + return ponente; } - - public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre) - { - return ModificarEvento(id, titulo, ponenteNombre, null); - } - - public void RealizarEvento(Guid eventoId, string sintesis) - { - var evento = _eventosRepository.Get(eventoId); - if (evento != null) - evento.Realizado(sintesis); - } } } \ No newline at end of file