Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
181:6ee05ceea8c3 | 182:beeb48ddb44a |
---|---|
44 public IEnumerable<Evento> GetHistorico() | 44 public IEnumerable<Evento> GetHistorico() |
45 { | 45 { |
46 return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); | 46 return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); |
47 } | 47 } |
48 | 48 |
49 public Resultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion) | 49 public EventoResultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion) |
50 { | 50 { |
51 Evento evento = GetEvento(eventoId); | 51 Evento evento = GetEvento(eventoId); |
52 Persona persona = _personaRepository.Get(ponenteId); | 52 Persona persona = _personaRepository.Get(ponenteId); |
53 | 53 |
54 if (evento.Titulo != titulo) | 54 if (evento.Titulo != titulo) |
59 else if (evento.Fecha != fecha || evento.Ponente != persona || evento.UrlInvitacion != urlInvitacion) | 59 else if (evento.Fecha != fecha || evento.Ponente != persona || evento.UrlInvitacion != urlInvitacion) |
60 evento.Actualizar(persona, fecha, urlInvitacion); | 60 evento.Actualizar(persona, fecha, urlInvitacion); |
61 | 61 |
62 Notify(evento); | 62 Notify(evento); |
63 | 63 |
64 return new Resultado(true); | 64 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
65 } | 65 |
66 | 66 return new EventoResultado(true, warnings); |
67 public Resultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion) | 67 } |
68 | |
69 public EventoResultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion) | |
68 { | 70 { |
69 return ModificarEvento(id, titulo, ponenteId, null, urlInvitacion); | 71 return ModificarEvento(id, titulo, ponenteId, null, urlInvitacion); |
70 } | 72 } |
71 | 73 |
72 public Resultado Proponer(string titulo, Guid? ponenteId, string urlInvitacion, TipoEvento tipo) | 74 public EventoResultado Proponer(string titulo, Guid? ponenteId, string urlInvitacion, TipoEvento tipo) |
73 { | 75 { |
74 Persona persona = null; | 76 Persona persona = null; |
75 if (ponenteId.HasValue) | 77 if (ponenteId.HasValue) |
76 persona = _personaRepository.Get(ponenteId.Value); | 78 persona = _personaRepository.Get(ponenteId.Value); |
77 | 79 |
78 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo); | 80 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo); |
79 | 81 |
80 if (string.IsNullOrWhiteSpace(evento.Titulo)) | 82 if (string.IsNullOrWhiteSpace(evento.Titulo)) |
81 return new Resultado(false); | 83 return new EventoResultado(false, null); |
82 | 84 |
83 Notify(evento); | 85 Notify(evento); |
84 | 86 |
85 _eventosRepository.Save(evento); | 87 _eventosRepository.Save(evento); |
86 | 88 |
87 return new Resultado(true); | 89 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
88 } | 90 |
89 | 91 return new EventoResultado(true, warnings); |
90 public Resultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo) | 92 } |
93 | |
94 public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo) | |
91 { | 95 { |
92 if (!fecha.HasValue) | 96 if (!fecha.HasValue) |
93 return new Resultado(false); | 97 return new EventoResultado(false, null); |
94 | 98 |
95 Persona persona = _personaRepository.Get(ponenteId); | 99 Persona persona = _personaRepository.Get(ponenteId); |
96 if (persona == null) | 100 if (persona == null) |
97 return new Resultado(false) | 101 return new EventoResultado(false, null) |
98 {Message = string.Format("No se encontró el ponente indicado ({0})", ponenteId)}; | 102 {Message = string.Format("No se encontró el ponente indicado ({0})", ponenteId)}; |
99 | 103 |
100 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); | 104 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); |
101 if (evento == null) | 105 if (evento == null) |
102 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion, tipo); | 106 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion, tipo); |
105 | 109 |
106 Notify(evento); | 110 Notify(evento); |
107 | 111 |
108 _eventosRepository.Save(evento); | 112 _eventosRepository.Save(evento); |
109 | 113 |
110 return new Resultado(true); | 114 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
111 } | 115 |
112 | 116 return new EventoResultado(true, warnings); |
113 public Resultado Confirmar(Guid eventoId) | 117 } |
118 | |
119 public EventoResultado Confirmar(Guid eventoId) | |
114 { | 120 { |
115 Evento evento = GetEvento(eventoId); | 121 Evento evento = GetEvento(eventoId); |
116 | 122 |
117 evento.Confirmar(); | 123 evento.Confirmar(); |
118 | 124 |
119 Notify(evento); | 125 Notify(evento); |
120 | 126 |
121 _eventosRepository.Save(evento); | 127 _eventosRepository.Save(evento); |
122 | 128 |
123 return new Resultado(true); | 129 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
124 } | 130 |
125 | 131 return new EventoResultado(true, warnings); |
126 public Resultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) | 132 } |
133 | |
134 public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) | |
127 { | 135 { |
128 if (numeroOrden <= 0) | 136 if (numeroOrden <= 0) |
129 throw new ArgumentOutOfRangeException("numeroOrden"); | 137 throw new ArgumentOutOfRangeException("numeroOrden"); |
130 | 138 |
131 if (string.IsNullOrWhiteSpace(urlWiki)) | 139 if (string.IsNullOrWhiteSpace(urlWiki)) |
140 | 148 |
141 Notify(evento); | 149 Notify(evento); |
142 | 150 |
143 _eventosRepository.Save(evento); | 151 _eventosRepository.Save(evento); |
144 | 152 |
145 return new Resultado(true); | 153 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
146 } | 154 |
147 | 155 return new EventoResultado(true, warnings); |
148 private void Notify(Evento evento) | 156 } |
149 { | 157 |
150 var tracks = evento.GetTrackNews(); | 158 public EventoResultado Cancelar(Guid eventoId) |
151 if (_publicador != null) | |
152 _publicador.Publicar(tracks); | |
153 } | |
154 | |
155 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) | |
156 { | |
157 var ponente = new Persona(nombre, mail, twitter, blog); | |
158 _personaRepository.Save(ponente); | |
159 } | |
160 | |
161 public Resultado Cancelar(Guid eventoId) | |
162 { | 159 { |
163 Evento evento = GetEvento(eventoId); | 160 Evento evento = GetEvento(eventoId); |
164 | 161 |
165 evento.Cancelar(); | 162 evento.Cancelar(); |
166 | 163 |
167 Notify(evento); | 164 Notify(evento); |
168 | 165 |
169 _eventosRepository.Save(evento); | 166 _eventosRepository.Save(evento); |
170 | 167 |
171 return new Resultado(true); | 168 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
172 } | 169 |
173 | 170 return new EventoResultado(true, warnings); |
174 public Resultado Descartar(Guid eventoId) | 171 } |
172 | |
173 public EventoResultado Descartar(Guid eventoId) | |
175 { | 174 { |
176 Evento evento = GetEvento(eventoId); | 175 Evento evento = GetEvento(eventoId); |
177 | 176 |
178 evento.Descartar(); | 177 evento.Descartar(); |
179 | 178 |
180 Notify(evento); | 179 Notify(evento); |
181 | 180 |
182 _eventosRepository.Save(evento); | 181 _eventosRepository.Save(evento); |
183 | 182 |
184 return new Resultado(true); | 183 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
185 } | 184 |
186 | 185 return new EventoResultado(true, warnings); |
187 public Resultado ReProponer(Guid eventoId) | 186 } |
187 | |
188 public EventoResultado ReProponer(Guid eventoId) | |
188 { | 189 { |
189 Evento evento = GetEvento(eventoId); | 190 Evento evento = GetEvento(eventoId); |
190 | 191 |
191 evento.ReProponer(); | 192 evento.ReProponer(); |
192 | 193 |
193 Notify(evento); | 194 Notify(evento); |
194 | 195 |
195 _eventosRepository.Save(evento); | 196 _eventosRepository.Save(evento); |
196 | 197 |
197 return new Resultado(true); | 198 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
198 } | 199 |
199 | 200 return new EventoResultado(true, warnings); |
200 public Resultado ReAgendar(Guid eventoId) | 201 } |
202 | |
203 public EventoResultado ReAgendar(Guid eventoId) | |
201 { | 204 { |
202 Evento evento = GetEvento(eventoId); | 205 Evento evento = GetEvento(eventoId); |
203 | 206 |
204 evento.ReAgendar(); | 207 evento.ReAgendar(); |
205 | 208 |
206 Notify(evento); | 209 Notify(evento); |
207 | 210 |
208 _eventosRepository.Save(evento); | 211 _eventosRepository.Save(evento); |
209 | 212 |
210 return new Resultado(true); | 213 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
211 } | 214 |
215 return new EventoResultado(true, warnings); | |
216 } | |
212 | 217 |
213 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) | 218 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) |
214 { | 219 { |
215 var evento = GetEvento(eventoId); | 220 var evento = GetEvento(eventoId); |
216 | 221 |
236 evento.AddPatrocinador(patrocinador); | 241 evento.AddPatrocinador(patrocinador); |
237 | 242 |
238 foreach (var patrocinador in quitar) | 243 foreach (var patrocinador in quitar) |
239 evento.RemovePatrocinador(patrocinador); | 244 evento.RemovePatrocinador(patrocinador); |
240 } | 245 } |
241 } | 246 |
247 private void Notify(Evento evento) | |
248 { | |
249 var tracks = evento.GetTrackNews(); | |
250 if (_publicador != null) | |
251 _publicador.Publicar(tracks); | |
252 } | |
253 | |
254 //TODO: este método ya no se debería usar | |
255 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) | |
256 { | |
257 var ponente = new Persona(nombre, mail, twitter, blog); | |
258 _personaRepository.Save(ponente); | |
259 } | |
260 | |
261 } | |
242 } | 262 } |