comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 183:212c664db5aa

Generalización del manejo de las acciones sobre eventos
author nelopauselli
date Mon, 08 Aug 2011 22:27:00 -0300
parents beeb48ddb44a
children 2d02adb79322
comparison
equal deleted inserted replaced
182:beeb48ddb44a 183:212c664db5aa
61 61
62 Notify(evento); 62 Notify(evento);
63 63
64 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 64 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
65 65
66 return new EventoResultado(true, warnings); 66 return new EventoResultado(true,"Evento modificado", warnings);
67 } 67 }
68 68
69 public EventoResultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion) 69 public EventoResultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, string urlInvitacion)
70 { 70 {
71 return ModificarEvento(id, titulo, ponenteId, null, urlInvitacion); 71 return ModificarEvento(id, titulo, ponenteId, null, urlInvitacion);
78 persona = _personaRepository.Get(ponenteId.Value); 78 persona = _personaRepository.Get(ponenteId.Value);
79 79
80 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo); 80 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo);
81 81
82 if (string.IsNullOrWhiteSpace(evento.Titulo)) 82 if (string.IsNullOrWhiteSpace(evento.Titulo))
83 return new EventoResultado(false, null); 83 return new EventoResultado(false,"Debe indicar el título del evento", null);
84 84
85 Notify(evento); 85 Notify(evento);
86 86
87 _eventosRepository.Save(evento); 87 _eventosRepository.Save(evento);
88 88
89 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 89 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
90 90
91 return new EventoResultado(true, warnings); 91 return new EventoResultado(true,"Evento propuesto", warnings);
92 } 92 }
93 93
94 public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo) 94 public EventoResultado Agendar(string titulo, Guid ponenteId, DateTime? fecha, string urlInvitacion, TipoEvento tipo)
95 { 95 {
96 if (!fecha.HasValue) 96 if (!fecha.HasValue)
97 return new EventoResultado(false, null); 97 return new EventoResultado(false, "Debe indicar la fecha", null);
98 98
99 Persona persona = _personaRepository.Get(ponenteId); 99 Persona persona = _personaRepository.Get(ponenteId);
100 if (persona == null) 100 if (persona == null)
101 return new EventoResultado(false, null) 101 return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null);
102 {Message = string.Format("No se encontró el ponente indicado ({0})", ponenteId)};
103 102
104 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); 103 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo);
105 if (evento == null) 104 if (evento == null)
106 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion, tipo); 105 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion, tipo);
107 else 106 else
111 110
112 _eventosRepository.Save(evento); 111 _eventosRepository.Save(evento);
113 112
114 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 113 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
115 114
116 return new EventoResultado(true, warnings); 115 return new EventoResultado(true, "Evento creado", warnings);
117 } 116 }
118 117
119 public EventoResultado Confirmar(Guid eventoId) 118 public EventoResultado Confirmar(Guid eventoId)
120 { 119 {
121 Evento evento = GetEvento(eventoId); 120 Evento evento = GetEvento(eventoId);
126 125
127 _eventosRepository.Save(evento); 126 _eventosRepository.Save(evento);
128 127
129 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 128 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
130 129
131 return new EventoResultado(true, warnings); 130 return new EventoResultado(true, "Evento confirmado", warnings);
132 } 131 }
133 132
134 public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) 133 public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion)
135 { 134 {
136 if (numeroOrden <= 0) 135 if (numeroOrden <= 0)
150 149
151 _eventosRepository.Save(evento); 150 _eventosRepository.Save(evento);
152 151
153 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 152 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
154 153
155 return new EventoResultado(true, warnings); 154 return new EventoResultado(true, "Evento publicado", warnings);
156 } 155 }
157 156
158 public EventoResultado Cancelar(Guid eventoId) 157 public EventoResultado Cancelar(Guid eventoId)
159 { 158 {
160 Evento evento = GetEvento(eventoId); 159 Evento evento = GetEvento(eventoId);
165 164
166 _eventosRepository.Save(evento); 165 _eventosRepository.Save(evento);
167 166
168 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 167 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
169 168
170 return new EventoResultado(true, warnings); 169 return new EventoResultado(true,"Evento cancelado", warnings);
171 } 170 }
172 171
173 public EventoResultado Descartar(Guid eventoId) 172 public EventoResultado Descartar(Guid eventoId)
174 { 173 {
175 Evento evento = GetEvento(eventoId); 174 Evento evento = GetEvento(eventoId);
180 179
181 _eventosRepository.Save(evento); 180 _eventosRepository.Save(evento);
182 181
183 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 182 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
184 183
185 return new EventoResultado(true, warnings); 184 return new EventoResultado(true, "Evento descartado", warnings);
186 } 185 }
187 186
188 public EventoResultado ReProponer(Guid eventoId) 187 public EventoResultado ReProponer(Guid eventoId)
189 { 188 {
190 Evento evento = GetEvento(eventoId); 189 Evento evento = GetEvento(eventoId);
195 194
196 _eventosRepository.Save(evento); 195 _eventosRepository.Save(evento);
197 196
198 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 197 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
199 198
200 return new EventoResultado(true, warnings); 199 return new EventoResultado(true,"Evento re-prpuesto", warnings);
201 } 200 }
202 201
203 public EventoResultado ReAgendar(Guid eventoId) 202 public EventoResultado ReAgendar(Guid eventoId)
204 { 203 {
205 Evento evento = GetEvento(eventoId); 204 Evento evento = GetEvento(eventoId);
210 209
211 _eventosRepository.Save(evento); 210 _eventosRepository.Save(evento);
212 211
213 var warnings = evento.GetLogsNews().Where(l => !l.Successful); 212 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
214 213
215 return new EventoResultado(true, warnings); 214 return new EventoResultado(true,"Evento re-agendado", warnings);
216 } 215 }
217 216
218 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) 217 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores)
219 { 218 {
220 var evento = GetEvento(eventoId); 219 var evento = GetEvento(eventoId);