Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 182:beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
author | nelopauselli |
---|---|
date | Mon, 08 Aug 2011 21:57:10 -0300 |
parents | 5c94b052d838 |
children | 212c664db5aa |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon Aug 08 20:08:31 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Mon Aug 08 21:57:10 2011 -0300 @@ -46,7 +46,7 @@ return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); } - public Resultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion) + public EventoResultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion) { Evento evento = GetEvento(eventoId); Persona persona = _personaRepository.Get(ponenteId); @@ -61,15 +61,17 @@ Notify(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion) + return new EventoResultado(true, warnings); + } + + public EventoResultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion) { return ModificarEvento(id, titulo, ponenteId, null, urlInvitacion); } - public Resultado Proponer(string titulo, Guid? ponenteId, string urlInvitacion, TipoEvento tipo) + public EventoResultado Proponer(string titulo, Guid? ponenteId, string urlInvitacion, TipoEvento tipo) { Persona persona = null; if (ponenteId.HasValue) @@ -78,23 +80,25 @@ var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo); if (string.IsNullOrWhiteSpace(evento.Titulo)) - return new Resultado(false); + return new EventoResultado(false, null); Notify(evento); _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo) + return new EventoResultado(true, warnings); + } + + public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo) { if (!fecha.HasValue) - return new Resultado(false); + return new EventoResultado(false, null); Persona persona = _personaRepository.Get(ponenteId); if (persona == null) - return new Resultado(false) + return new EventoResultado(false, null) {Message = string.Format("No se encontró el ponente indicado ({0})", ponenteId)}; Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); @@ -107,10 +111,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado Confirmar(Guid eventoId) + return new EventoResultado(true, warnings); + } + + public EventoResultado Confirmar(Guid eventoId) { Evento evento = GetEvento(eventoId); @@ -120,10 +126,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); + var warnings = evento.GetLogsNews().Where(l => !l.Successful); + + return new EventoResultado(true, warnings); } - public Resultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) + public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) { if (numeroOrden <= 0) throw new ArgumentOutOfRangeException("numeroOrden"); @@ -142,23 +150,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - private void Notify(Evento evento) - { - var tracks = evento.GetTrackNews(); - if (_publicador != null) - _publicador.Publicar(tracks); - } + return new EventoResultado(true, warnings); + } - public void RegistrarPonente(string nombre, string mail, string twitter, string blog) - { - var ponente = new Persona(nombre, mail, twitter, blog); - _personaRepository.Save(ponente); - } - - public Resultado Cancelar(Guid eventoId) + public EventoResultado Cancelar(Guid eventoId) { Evento evento = GetEvento(eventoId); @@ -168,10 +165,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado Descartar(Guid eventoId) + return new EventoResultado(true, warnings); + } + + public EventoResultado Descartar(Guid eventoId) { Evento evento = GetEvento(eventoId); @@ -181,10 +180,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado ReProponer(Guid eventoId) + return new EventoResultado(true, warnings); + } + + public EventoResultado ReProponer(Guid eventoId) { Evento evento = GetEvento(eventoId); @@ -194,10 +195,12 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); - public Resultado ReAgendar(Guid eventoId) + return new EventoResultado(true, warnings); + } + + public EventoResultado ReAgendar(Guid eventoId) { Evento evento = GetEvento(eventoId); @@ -207,8 +210,10 @@ _eventosRepository.Save(evento); - return new Resultado(true); - } + var warnings = evento.GetLogsNews().Where(l => !l.Successful); + + return new EventoResultado(true, warnings); + } public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) { @@ -238,5 +243,20 @@ foreach (var patrocinador in quitar) evento.RemovePatrocinador(patrocinador); } - } + + private void Notify(Evento evento) + { + var tracks = evento.GetTrackNews(); + if (_publicador != null) + _publicador.Publicar(tracks); + } + + //TODO: este método ya no se debería usar + public void RegistrarPonente(string nombre, string mail, string twitter, string blog) + { + var ponente = new Persona(nombre, mail, twitter, blog); + _personaRepository.Save(ponente); + } + + } } \ No newline at end of file