# HG changeset patch # User juanjose.montesdeocaarbos # Date 1324917585 10800 # Node ID 1caba33bd0b7fa2d9bb85b2cb5149a712be32646 # Parent 1e889a2e45c576d1e408a001397659bd3e013b05 Cambiandos espacios por tabuladores, etc. diff -r 1e889a2e45c5 -r 1caba33bd0b7 Agendas/trunk/src/Agendas.Domain/Agenda.cs --- 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 GetEventosActivos(EventoState state) - { - return _eventosRepository.GetByState(state) ?? new List(); - } + public IList GetEventosActivos(EventoState state) + { + return _eventosRepository.GetByState(state) ?? new List(); + } - public IList GetEventosActivos() - { - return _eventosRepository.GetActivos() ?? new List(); - } + public IList GetEventosActivos() + { + return _eventosRepository.GetActivos() ?? new List(); + } - public IEnumerable GetHistorico() - { - return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List(); - } + public IEnumerable GetHistorico() + { + return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List(); + } public EventoResultado ModificarEvento(Guid eventoId, string titulo, IEnumerable 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 ponentesId, string urlInvitacion) - { + { return ModificarEvento(id, titulo, ponentesId, null, null, urlInvitacion); - } + } public EventoResultado Proponer(string titulo, IEnumerable 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 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 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 ponentesId, Accion? action) - { - var ponentes = new List(); - 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 ponentesId, Accion? action) + { + var ponentes = new List(); + 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 patrocinadores)