Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 280:1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
author | juanjose.montesdeocaarbos |
---|---|
date | Mon, 26 Dec 2011 13:39:45 -0300 |
parents | 72a96459f910 |
children | bc8dfbde0523 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Thu Dec 22 10:04:08 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon Dec 26 13:39:45 2011 -0300 @@ -6,112 +6,112 @@ namespace AltNetHispano.Agendas.Domain { - public class Agenda - { - private readonly IEventoRepository _eventosRepository; - private readonly IPersonaRepository _personaRepository; + public class Agenda + { + private readonly IEventoRepository _eventosRepository; + private readonly IPersonaRepository _personaRepository; private readonly IPatrocinadorRepository _patrocinadorRepository; - private readonly IPublicador _publicador; + private readonly IPublicador _publicador; - public Agenda(IPublicador publicador, IEventoRepository eventosRepository, + public Agenda(IPublicador publicador, IEventoRepository eventosRepository, IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository) - { - _publicador = publicador; + { + _publicador = publicador; _patrocinadorRepository = patrocinadorRepository; - _personaRepository = personaRepository; - _eventosRepository = eventosRepository; - } + _personaRepository = personaRepository; + _eventosRepository = eventosRepository; + } - public Evento GetEvento(Guid eventoId) - { - Evento evento = _eventosRepository.Get(eventoId); - if (evento == null) - throw new EventoNotFoundException(eventoId); - return evento; - } + public Evento GetEvento(Guid eventoId) + { + Evento evento = _eventosRepository.Get(eventoId); + if (evento == null) + throw new EventoNotFoundException(eventoId); + return evento; + } - public IList<Evento> GetEventosActivos(EventoState state) - { - return _eventosRepository.GetByState(state) ?? new List<Evento>(); - } + public IList<Evento> GetEventosActivos(EventoState state) + { + return _eventosRepository.GetByState(state) ?? new List<Evento>(); + } - public IList<Evento> GetEventosActivos() - { - return _eventosRepository.GetActivos() ?? new List<Evento>(); - } + public IList<Evento> GetEventosActivos() + { + return _eventosRepository.GetActivos() ?? new List<Evento>(); + } - public IEnumerable<Evento> GetHistorico() - { - return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); - } + public IEnumerable<Evento> GetHistorico() + { + return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); + } public EventoResultado ModificarEvento(Guid eventoId, string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion) - { + { Evento evento = GetEvento(eventoId); - if (evento.Tipo == TipoEvento.Van && (ponentesId == null || !ponentesId.Any(id=>id!=Guid.Empty))) + if (evento.Tipo == TipoEvento.Van && (ponentesId == null || !ponentesId.Any(id => id != Guid.Empty))) return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); - if (evento.Titulo != titulo) - evento.CambiarTitulo(titulo); + if (evento.Titulo != titulo) + evento.CambiarTitulo(titulo); - if (evento.FechaInicio == null && fechaInicio != null && evento.FechaTermino == null && fechaTermino != null) - evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); - else if (evento.FechaInicio != fechaInicio || evento.UrlInvitacion != urlInvitacion || evento.FechaTermino != fechaTermino) - evento.Actualizar(fechaInicio, fechaTermino, urlInvitacion); + if (evento.FechaInicio == null && fechaInicio != null && evento.FechaTermino == null && fechaTermino != null) + evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); + else if (evento.FechaInicio != fechaInicio || evento.UrlInvitacion != urlInvitacion || evento.FechaTermino != fechaTermino) + evento.Actualizar(fechaInicio, fechaTermino, urlInvitacion); var r = ActualizarPonentes(evento, ponentesId, Accion.Modificar); if (!r.Succeful) return r; - Notify(evento); + Notify(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); - return new EventoResultado(true,"Evento modificado", warnings); + return new EventoResultado(true, "Evento modificado", warnings); } public EventoResultado ModificarPropuesta(Guid id, string titulo, IEnumerable<Guid> ponentesId, string urlInvitacion) - { + { return ModificarEvento(id, titulo, ponentesId, null, null, urlInvitacion); - } + } public EventoResultado Proponer(string titulo, IEnumerable<Guid> ponentesId, string urlInvitacion, TipoEvento tipo) - { - if (string.IsNullOrWhiteSpace(titulo)) - return new EventoResultado(false, "Debe indicar el título del evento", null); + { + if (string.IsNullOrWhiteSpace(titulo)) + return new EventoResultado(false, "Debe indicar el título del evento", null); - var evento = Evento.Proponer(titulo, urlInvitacion, tipo); + var evento = Evento.Proponer(titulo, urlInvitacion, tipo); var r = ActualizarPonentes(evento, ponentesId, null); if (!r.Succeful) return r; - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); - return new EventoResultado(true,"Evento propuesto", warnings); + return new EventoResultado(true, "Evento propuesto", warnings); } - public EventoResultado Agendar(string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo) - { - if (!fechaInicio.HasValue) - return new EventoResultado(false, "Debe indicar la fecha", null); - if (!fechaTermino.HasValue) - return new EventoResultado(false, "Debe indicar la hora y duración", null); + public EventoResultado Agendar(string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo) + { + if (!fechaInicio.HasValue) + return new EventoResultado(false, "Debe indicar la fecha", null); + if (!fechaTermino.HasValue) + return new EventoResultado(false, "Debe indicar la hora y duración", null); if (tipo == TipoEvento.Van && (ponentesId == null || !ponentesId.Any(id => id != Guid.Empty))) return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); - var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); - if (existeOtroEvento != null) - return new EventoResultado(false, - string.Format( - "Ya existe un evento con el mismo título ({0}) del {1}, por favor ingrese otro.", - titulo, existeOtroEvento.FechaInicio.Value.ToShortDateString()), null); + var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); + if (existeOtroEvento != null) + return new EventoResultado(false, + string.Format( + "Ya existe un evento con el mismo título ({0}) del {1}, por favor ingrese otro.", + titulo, existeOtroEvento.FechaInicio.Value.ToShortDateString()), null); - Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); + Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); foreach (var e in _eventosRepository.GetActivos()) { @@ -122,78 +122,78 @@ } if (evento == null) - evento = Evento.Agendar(titulo, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo); - else - evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); + evento = Evento.Agendar(titulo, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo); + else + evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); - var r = ActualizarPonentes(evento, ponentesId, null); + var r = ActualizarPonentes(evento, ponentesId, null); if (!r.Succeful) return r; - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); return new EventoResultado(true, "Evento creado", warnings); } - private EventoResultado ActualizarPonentes(Evento evento, IEnumerable<Guid> ponentesId, Accion? action) - { - var ponentes = new List<Persona>(); - if (ponentesId != null) - { - foreach (var ponenteId in ponentesId.Where(id=>id!=Guid.Empty)) - { - var colaborador = _personaRepository.Get(ponenteId); - if (colaborador == null) - return new EventoResultado(false, string.Format("No se encontró el colaborador indicado ({0})", ponenteId), - null); - ponentes.Add(colaborador); - } - evento.ActualizarPonentes(ponentes, action); - } - return new EventoResultado(true, "Ponentes actualizados", null); - } + private EventoResultado ActualizarPonentes(Evento evento, IEnumerable<Guid> ponentesId, Accion? action) + { + var ponentes = new List<Persona>(); + if (ponentesId != null) + { + foreach (var ponenteId in ponentesId.Where(id => id != Guid.Empty)) + { + var colaborador = _personaRepository.Get(ponenteId); + if (colaborador == null) + return new EventoResultado(false, string.Format("No se encontró el colaborador indicado ({0})", ponenteId), + null); + ponentes.Add(colaborador); + } + evento.ActualizarPonentes(ponentes, action); + } + return new EventoResultado(true, "Ponentes actualizados", null); + } - public EventoResultado Confirmar(Guid eventoId) - { - Evento evento = GetEvento(eventoId); + public EventoResultado Confirmar(Guid eventoId) + { + Evento evento = GetEvento(eventoId); - evento.Confirmar(); + evento.Confirmar(); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); return new EventoResultado(true, "Evento confirmado.", warnings); - } + } public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) - { - if (numeroOrden <= 0) - return new EventoResultado(false, "Número de Orden fuera de rango", null); + { + if (numeroOrden <= 0) + return new EventoResultado(false, "Número de Orden fuera de rango", null); - if (string.IsNullOrWhiteSpace(urlWiki)) - return new EventoResultado(false, "Url Wiki incorrecto", null); + if (string.IsNullOrWhiteSpace(urlWiki)) + return new EventoResultado(false, "Url Wiki incorrecto", null); if (duracion.Hours.Equals(0) && duracion.Minutes.Equals(0)) - return new EventoResultado(false, "Duración fuera de rango", null); + return new EventoResultado(false, "Duración fuera de rango", null); - if (_eventosRepository.GetByState(EventoPublicadoState.GetInstance()).Any(e => e.NumeroOrden.Equals(numeroOrden))) - { - return new EventoResultado(false, "El número de evento ya se encuentra en uso", null); - } + if (_eventosRepository.GetByState(EventoPublicadoState.GetInstance()).Any(e => e.NumeroOrden.Equals(numeroOrden))) + { + return new EventoResultado(false, "El número de evento ya se encuentra en uso", null); + } - Evento evento = GetEvento(eventoId); + Evento evento = GetEvento(eventoId); - evento.Publicar(numeroOrden, urlWiki, duracion); + evento.Publicar(numeroOrden, urlWiki, duracion); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); @@ -201,29 +201,29 @@ } public EventoResultado Cancelar(Guid eventoId) - { - Evento evento = GetEvento(eventoId); + { + Evento evento = GetEvento(eventoId); - evento.Cancelar(); + evento.Cancelar(); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); - return new EventoResultado(true,"Evento cancelado", warnings); + return new EventoResultado(true, "Evento cancelado", warnings); } public EventoResultado Descartar(Guid eventoId) - { - Evento evento = GetEvento(eventoId); + { + Evento evento = GetEvento(eventoId); - evento.Descartar(); + evento.Descartar(); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); @@ -231,33 +231,33 @@ } public EventoResultado ReProponer(Guid eventoId) - { - Evento evento = GetEvento(eventoId); + { + Evento evento = GetEvento(eventoId); - evento.ReProponer(); + evento.ReProponer(); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); - return new EventoResultado(true,"Evento re-prpuesto", warnings); + return new EventoResultado(true, "Evento re-prpuesto", warnings); } public EventoResultado ReAgendar(Guid eventoId) - { - Evento evento = GetEvento(eventoId); + { + Evento evento = GetEvento(eventoId); - evento.ReAgendar(); + evento.ReAgendar(); - Notify(evento); + Notify(evento); - _eventosRepository.Save(evento); + _eventosRepository.Save(evento); var warnings = evento.GetLogsNews().Where(l => !l.Successful); - return new EventoResultado(true,"Evento re-agendado", warnings); + return new EventoResultado(true, "Evento re-agendado", warnings); } public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores)