Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 282:bc8dfbde0523
#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
author | juanjose.montesdeocaarbos |
---|---|
date | Mon, 26 Dec 2011 14:21:44 -0300 |
parents | 1caba33bd0b7 |
children | 79942e030118 |
rev | line source |
---|---|
1 | 1 using System; |
2 | 2 using System.Collections.Generic; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
3 using System.Linq; |
4 | 4 using AltNetHispano.Agendas.Domain.Exceptions; |
15 | 5 using AltNetHispano.Agendas.Domain.Repositories; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
6 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 namespace AltNetHispano.Agendas.Domain |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
8 { |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
9 public class Agenda |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
10 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
11 private readonly IEventoRepository _eventosRepository; |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
12 private readonly IPersonaRepository _personaRepository; |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
13 private readonly IPatrocinadorRepository _patrocinadorRepository; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
14 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
15 private readonly IPublicador _publicador; |
2 | 16 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
17 public Agenda(IPublicador publicador, IEventoRepository eventosRepository, |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
18 IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
19 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
20 _publicador = publicador; |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
21 _patrocinadorRepository = patrocinadorRepository; |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
22 _personaRepository = personaRepository; |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
23 _eventosRepository = eventosRepository; |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
24 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
25 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
26 public Evento GetEvento(Guid eventoId) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
27 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
28 Evento evento = _eventosRepository.Get(eventoId); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
29 if (evento == null) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
30 throw new EventoNotFoundException(eventoId); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
31 return evento; |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
32 } |
3 | 33 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
34 public IList<Evento> GetEventosActivos(EventoState state) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
35 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
36 return _eventosRepository.GetByState(state) ?? new List<Evento>(); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
37 } |
29
016b9b9b8d3a
Cuando se publica una van con el mismo titulo que una propuesta, se utiliza esta
nelo@MTEySS.neluz.int
parents:
26
diff
changeset
|
38 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
39 public IList<Evento> GetEventosActivos() |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
40 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
41 return _eventosRepository.GetActivos() ?? new List<Evento>(); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
42 } |
1 | 43 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
44 public IEnumerable<Evento> GetHistorico() |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
45 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
46 return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
47 } |
119 | 48 |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
49 public EventoResultado ModificarEvento(Guid eventoId, string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
50 { |
231 | 51 Evento evento = GetEvento(eventoId); |
52 | |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
53 if (evento.Tipo == TipoEvento.Van && (ponentesId == null || !ponentesId.Any(id => id != Guid.Empty))) |
231 | 54 return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); |
39 | 55 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
56 if (evento.Titulo != titulo) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
57 evento.CambiarTitulo(titulo); |
54 | 58 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
59 if (evento.FechaInicio == null && fechaInicio != null && evento.FechaTermino == null && fechaTermino != null) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
60 evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
61 else if (evento.FechaInicio != fechaInicio || evento.UrlInvitacion != urlInvitacion || evento.FechaTermino != fechaTermino) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
62 evento.Actualizar(fechaInicio, fechaTermino, urlInvitacion); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
63 |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
64 var r = ActualizarPonentes(evento, ponentesId, Accion.Modificar); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
65 if (!r.Succeful) return r; |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
66 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
67 Notify(evento); |
54 | 68 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
69 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
54 | 70 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
71 return new EventoResultado(true, "Evento modificado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
72 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
73 |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
74 public EventoResultado ModificarPropuesta(Guid id, string titulo, IEnumerable<Guid> ponentesId, string urlInvitacion) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
75 { |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
76 return ModificarEvento(id, titulo, ponentesId, null, null, urlInvitacion); |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
77 } |
4 | 78 |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
79 public EventoResultado Proponer(string titulo, IEnumerable<Guid> ponentesId, string urlInvitacion, TipoEvento tipo) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
80 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
81 if (string.IsNullOrWhiteSpace(titulo)) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
82 return new EventoResultado(false, "Debe indicar el título del evento", null); |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
18
diff
changeset
|
83 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
84 var evento = Evento.Proponer(titulo, urlInvitacion, tipo); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
85 |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
86 var r = ActualizarPonentes(evento, ponentesId, null); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
87 if (!r.Succeful) return r; |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
88 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
89 Notify(evento); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
90 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
91 _eventosRepository.Save(evento); |
4 | 92 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
93 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
57 | 94 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
95 return new EventoResultado(true, "Evento propuesto", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
96 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
97 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
98 public EventoResultado Agendar(string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
99 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
100 if (!fechaInicio.HasValue) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
101 return new EventoResultado(false, "Debe indicar la fecha", null); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
102 if (!fechaTermino.HasValue) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
103 return new EventoResultado(false, "Debe indicar la hora y duración", null); |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
104 if (tipo == TipoEvento.Van && (ponentesId == null || !ponentesId.Any(id => id != Guid.Empty))) |
231 | 105 return new EventoResultado(false, "Debe indicar el ponente para este tipo de evento", null); |
24 | 106 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
107 var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
108 if (existeOtroEvento != null) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
109 return new EventoResultado(false, |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
110 string.Format( |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
111 "Ya existe un evento con el mismo título ({0}) del {1}, por favor ingrese otro.", |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
112 titulo, existeOtroEvento.FechaInicio.Value.ToShortDateString()), null); |
214
7d838e7d83b3
Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
alabra
parents:
204
diff
changeset
|
113 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
114 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); |
195
4d0b2552edb2
Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents:
185
diff
changeset
|
115 |
196
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
116 foreach (var e in _eventosRepository.GetActivos()) |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
117 { |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
118 if (!e.Equals(evento) && fechaInicio <= e.FechaTermino && fechaTermino >= e.FechaInicio) |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
119 { |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
120 return new EventoResultado(false, string.Format("El evento que está intentando agendar entra en conflicto con '{0}'", e.Titulo), null); |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
121 } |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
122 } |
bb7a60c28d8d
TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents:
195
diff
changeset
|
123 |
195
4d0b2552edb2
Ticket 170: Cuando se agenda o confirma un evento, verificar que no existan otros dentro del rango horario en que se desarrollará el evento actual.
juanjose.montesdeocaarbos
parents:
185
diff
changeset
|
124 if (evento == null) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
125 evento = Evento.Agendar(titulo, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
126 else |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
127 evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
128 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
129 var r = ActualizarPonentes(evento, ponentesId, null); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
130 if (!r.Succeful) return r; |
225 | 131 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
132 Notify(evento); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
133 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
134 _eventosRepository.Save(evento); |
145
e6e6bfb1da9e
En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents:
138
diff
changeset
|
135 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
136 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
137 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
138 return new EventoResultado(true, "Evento creado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
139 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
140 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
141 private EventoResultado ActualizarPonentes(Evento evento, IEnumerable<Guid> ponentesId, Accion? action) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
142 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
143 var ponentes = new List<Persona>(); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
144 if (ponentesId != null) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
145 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
146 foreach (var ponenteId in ponentesId.Where(id => id != Guid.Empty)) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
147 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
148 var colaborador = _personaRepository.Get(ponenteId); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
149 if (colaborador == null) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
150 return new EventoResultado(false, string.Format("No se encontró el colaborador indicado ({0})", ponenteId), |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
151 null); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
152 ponentes.Add(colaborador); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
153 } |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
154 evento.ActualizarPonentes(ponentes, action); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
155 } |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
156 return new EventoResultado(true, "Ponentes actualizados", null); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
157 } |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
158 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
159 public EventoResultado Confirmar(Guid eventoId) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
160 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
161 Evento evento = GetEvento(eventoId); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
162 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
163 evento.Confirmar(); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
164 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
165 Notify(evento); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
166 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
167 _eventosRepository.Save(evento); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
168 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
169 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
170 |
212
6944c54f834f
Ticket 175: Se cambia el mensaje por una pantalla de confirmación, que sugiere los textos.
juanjose.montesdeocaarbos
parents:
204
diff
changeset
|
171 return new EventoResultado(true, "Evento confirmado.", warnings); |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
172 } |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
173 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
174 public EventoResultado Publicar(Guid eventoId, short numeroOrden, string urlWiki, TimeSpan duracion) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
175 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
176 if (numeroOrden <= 0) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
177 return new EventoResultado(false, "Número de Orden fuera de rango", null); |
161
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
178 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
179 if (string.IsNullOrWhiteSpace(urlWiki)) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
180 return new EventoResultado(false, "Url Wiki incorrecto", null); |
161
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
181 |
169
5c94b052d838
Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents:
161
diff
changeset
|
182 if (duracion.Hours.Equals(0) && duracion.Minutes.Equals(0)) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
183 return new EventoResultado(false, "Duración fuera de rango", null); |
244
31fb96912d37
Ticket 162: Publicaciones con Nro Orden repetido.
juanjose.montesdeocaarbos
parents:
243
diff
changeset
|
184 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
185 if (_eventosRepository.GetByState(EventoPublicadoState.GetInstance()).Any(e => e.NumeroOrden.Equals(numeroOrden))) |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
186 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
187 return new EventoResultado(false, "El número de evento ya se encuentra en uso", null); |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
188 } |
169
5c94b052d838
Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents:
161
diff
changeset
|
189 |
282
bc8dfbde0523
#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents:
280
diff
changeset
|
190 var evento = GetEvento(eventoId); |
bc8dfbde0523
#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents:
280
diff
changeset
|
191 |
bc8dfbde0523
#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents:
280
diff
changeset
|
192 if (/*evento.Tipo == TipoEvento.Van &&*/ evento.Patrocinadores.Count() == 0) |
bc8dfbde0523
#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents:
280
diff
changeset
|
193 return new EventoResultado(false, "La VAN debe tener al menos un Patrocinador para ser publicada.", null); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
194 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
195 evento.Publicar(numeroOrden, urlWiki, duracion); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
196 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
197 Notify(evento); |
145
e6e6bfb1da9e
En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents:
138
diff
changeset
|
198 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
199 _eventosRepository.Save(evento); |
145
e6e6bfb1da9e
En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents:
138
diff
changeset
|
200 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
201 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
202 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
203 return new EventoResultado(true, "Evento publicado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
204 } |
24 | 205 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
206 public EventoResultado Cancelar(Guid eventoId) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
207 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
208 Evento evento = GetEvento(eventoId); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
209 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
210 evento.Cancelar(); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
211 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
212 Notify(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
213 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
214 _eventosRepository.Save(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
215 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
216 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
217 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
218 return new EventoResultado(true, "Evento cancelado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
219 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
220 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
221 public EventoResultado Descartar(Guid eventoId) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
222 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
223 Evento evento = GetEvento(eventoId); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
224 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
225 evento.Descartar(); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
226 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
227 Notify(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
228 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
229 _eventosRepository.Save(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
230 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
231 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
232 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
233 return new EventoResultado(true, "Evento descartado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
234 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
235 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
236 public EventoResultado ReProponer(Guid eventoId) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
237 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
238 Evento evento = GetEvento(eventoId); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
239 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
240 evento.ReProponer(); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
241 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
242 Notify(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
243 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
244 _eventosRepository.Save(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
245 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
246 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
247 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
248 return new EventoResultado(true, "Evento re-prpuesto", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
249 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
250 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
251 public EventoResultado ReAgendar(Guid eventoId) |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
252 { |
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
253 Evento evento = GetEvento(eventoId); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
254 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
255 evento.ReAgendar(); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
256 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
257 Notify(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
258 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
259 _eventosRepository.Save(evento); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
260 |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
261 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
262 |
280
1caba33bd0b7
Cambiandos espacios por tabuladores, etc.
juanjose.montesdeocaarbos
parents:
274
diff
changeset
|
263 return new EventoResultado(true, "Evento re-agendado", warnings); |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
264 } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
265 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
266 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
267 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
268 var evento = GetEvento(eventoId); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
269 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
270 var agregar = new List<Patrocinador>(); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
271 var quitar = new List<Patrocinador>(); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
272 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
273 foreach (var patrocinadorId in patrocinadores) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
274 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
275 if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId)) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
276 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
277 var patrocinador = _patrocinadorRepository.Get(patrocinadorId); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
278 agregar.Add(patrocinador); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
279 } |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
280 } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
281 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
282 foreach (var patrocinador in evento.Patrocinadores) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
283 { |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
284 if (!patrocinadores.Any(p => p == patrocinador.Id)) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
285 quitar.Add(patrocinador); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
286 } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
287 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
288 foreach (var patrocinador in agregar) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
289 evento.AddPatrocinador(patrocinador); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
290 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
291 foreach (var patrocinador in quitar) |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
292 evento.RemovePatrocinador(patrocinador); |
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
244
diff
changeset
|
293 } |
182
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
294 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
295 private void Notify(Evento evento) |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
296 { |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
297 var tracks = evento.GetTrackNews(); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
298 if (_publicador != null) |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
299 _publicador.Publicar(tracks); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
300 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
301 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
302 //TODO: este método ya no se debería usar |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
303 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
304 { |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
305 var ponente = new Persona(nombre, mail, twitter, blog); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
306 _personaRepository.Save(ponente); |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
307 } |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
308 |
beeb48ddb44a
Warning con los errores que se guarden en el log del track de un evento durante una notificación (twitter, calendar, blog)
nelopauselli
parents:
169
diff
changeset
|
309 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
310 } |