Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 242:5cc1681d3789
Combinar
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 05 Oct 2011 07:57:21 -0300 |
parents | 51faeabfb9d9 |
children | 59f8fa2f835e |
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 { |
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
|
9 public class Agenda |
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
|
10 { |
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
|
11 private readonly IEventoRepository _eventosRepository; |
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
|
12 private readonly IPersonaRepository _personaRepository; |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
13 //private readonly IPatrocinadorRepository _patrocinadorRepository; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
14 |
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
|
15 private readonly IPublicador _publicador; |
2 | 16 |
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
|
17 public Agenda(IPublicador publicador, IEventoRepository eventosRepository, |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
18 IPersonaRepository personaRepository) |
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
|
19 { |
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
|
20 _publicador = publicador; |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
21 //_patrocinadorRepository = patrocinadorRepository; |
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
|
22 _personaRepository = personaRepository; |
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
|
23 _eventosRepository = eventosRepository; |
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
|
24 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
25 |
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
|
26 public Evento GetEvento(Guid eventoId) |
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
|
27 { |
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
|
28 Evento evento = _eventosRepository.Get(eventoId); |
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
|
29 if (evento == null) |
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
|
30 throw new EventoNotFoundException(eventoId); |
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
|
31 return evento; |
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
|
32 } |
3 | 33 |
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
|
34 public IList<Evento> GetEventosActivos(EventoState state) |
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
|
35 { |
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
|
36 return _eventosRepository.GetByState(state) ?? new List<Evento>(); |
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
|
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 |
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
|
39 public IList<Evento> GetEventosActivos() |
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
|
40 { |
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
|
41 return _eventosRepository.GetActivos() ?? new List<Evento>(); |
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
|
42 } |
1 | 43 |
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
|
44 public IEnumerable<Evento> GetHistorico() |
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
|
45 { |
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
|
46 return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); |
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
|
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) |
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
|
50 { |
231 | 51 Evento evento = GetEvento(eventoId); |
52 | |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
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 |
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
|
56 if (evento.Titulo != titulo) |
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
|
57 evento.CambiarTitulo(titulo); |
54 | 58 |
185
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
59 if (evento.FechaInicio == null && fechaInicio != null && evento.FechaTermino == null && fechaTermino != null) |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
60 evento.Agendar(fechaInicio, fechaTermino, urlInvitacion); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
61 else if (evento.FechaInicio != fechaInicio || evento.UrlInvitacion != urlInvitacion || evento.FechaTermino != fechaTermino) |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
62 evento.Actualizar(fechaInicio, fechaTermino, urlInvitacion); |
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 |
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
|
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 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
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) |
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
|
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); |
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
|
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) |
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
|
80 { |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
81 if (string.IsNullOrWhiteSpace(titulo)) |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
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 |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
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 |
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
|
89 Notify(evento); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
90 |
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
|
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 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
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 |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
98 public EventoResultado Agendar(string titulo, IEnumerable<Guid> ponentesId, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion, TipoEvento tipo) |
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
|
99 { |
185
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
100 if (!fechaInicio.HasValue) |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
101 return new EventoResultado(false, "Debe indicar la fecha", null); |
185
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
102 if (!fechaTermino.HasValue) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
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 |
231 | 107 var existeOtroEvento = _eventosRepository.GetNoPropuestoByTitulo(titulo); |
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
|
108 if (existeOtroEvento != null) |
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
|
109 return new EventoResultado(false, |
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
|
110 string.Format( |
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
|
111 "Ya existe un evento con el mismo título ({0}) del {1}, por favor ingrese otro.", |
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
|
112 titulo, existeOtroEvento.FechaInicio.Value.ToShortDateString()), null); |
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 |
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
|
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) |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
125 evento = Evento.Agendar(titulo, fechaInicio.Value, fechaTermino.Value, urlInvitacion, tipo); |
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
|
126 else |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
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 |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
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 |
132 Notify(evento); | |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
133 |
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
|
134 _eventosRepository.Save(evento); |
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 |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
141 private EventoResultado ActualizarPonentes(Evento evento, IEnumerable<Guid> ponentesId, Accion? action) |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
142 { |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
143 var ponentes = new List<Persona>(); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
144 if (ponentesId != null) |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
145 { |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
146 foreach (var ponenteId in ponentesId.Where(id=>id!=Guid.Empty)) |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
147 { |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
148 var colaborador = _personaRepository.Get(ponenteId); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
149 if (colaborador == null) |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
150 return new EventoResultado(false, string.Format("No se encontró el colaborador indicado ({0})", ponenteId), |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
151 null); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
152 ponentes.Add(colaborador); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
153 } |
237
51faeabfb9d9
Todos los tests en verde quitando al ponente principal
nelopauselli
parents:
235
diff
changeset
|
154 evento.ActualizarPonentes(ponentes, action); |
235
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
155 } |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
156 return new EventoResultado(true, "Ponentes actualizados", null); |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
157 } |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
158 |
c61954d24c8c
Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents:
231
diff
changeset
|
159 public EventoResultado Confirmar(Guid eventoId) |
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
|
160 { |
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
|
161 Evento evento = GetEvento(eventoId); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
162 |
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
|
163 evento.Confirmar(); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
164 |
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
|
165 Notify(evento); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
166 |
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
|
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); |
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
|
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) |
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
|
175 { |
161
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
176 if (numeroOrden <= 0) |
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
177 throw new ArgumentOutOfRangeException("numeroOrden"); |
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
178 |
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
179 if (string.IsNullOrWhiteSpace(urlWiki)) |
c1062de96845
Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents:
145
diff
changeset
|
180 throw new ArgumentException("urlWiki"); |
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)) |
5c94b052d838
Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents:
161
diff
changeset
|
183 throw new ArgumentOutOfRangeException("duracion"); |
5c94b052d838
Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents:
161
diff
changeset
|
184 |
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
|
185 Evento evento = GetEvento(eventoId); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
186 |
169
5c94b052d838
Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents:
161
diff
changeset
|
187 evento.Publicar(numeroOrden, urlWiki, duracion); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
188 |
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
|
189 Notify(evento); |
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
|
190 |
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
|
191 _eventosRepository.Save(evento); |
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
|
192 |
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
|
193 var warnings = evento.GetLogsNews().Where(l => !l.Successful); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
194 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
195 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
|
196 } |
24 | 197 |
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
|
198 public EventoResultado Cancelar(Guid eventoId) |
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
|
199 { |
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
|
200 Evento evento = GetEvento(eventoId); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
201 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
202 evento.Cancelar(); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
203 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
204 Notify(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
205 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
206 _eventosRepository.Save(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
207 |
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
|
208 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
|
209 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
210 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
|
211 } |
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
|
212 |
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
|
213 public EventoResultado Descartar(Guid eventoId) |
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
|
214 { |
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 Evento evento = GetEvento(eventoId); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
216 |
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 evento.Descartar(); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
218 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
219 Notify(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
220 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
221 _eventosRepository.Save(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
222 |
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
|
223 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
|
224 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
225 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
|
226 } |
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
|
227 |
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
|
228 public EventoResultado ReProponer(Guid eventoId) |
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
|
229 { |
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 Evento evento = GetEvento(eventoId); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
231 |
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 evento.ReProponer(); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
233 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
234 Notify(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
235 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
236 _eventosRepository.Save(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
237 |
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
|
238 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
|
239 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
240 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
|
241 } |
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
|
242 |
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
|
243 public EventoResultado ReAgendar(Guid eventoId) |
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
|
244 { |
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 Evento evento = GetEvento(eventoId); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
246 |
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 evento.ReAgendar(); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
248 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
249 Notify(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
250 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
251 _eventosRepository.Save(evento); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
252 |
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
|
253 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
|
254 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
255 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
|
256 } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
257 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
258 //public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
259 //{ |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
260 // var evento = GetEvento(eventoId); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
261 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
262 // var agregar = new List<Patrocinador>(); |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
263 // var quitar = new List<Patrocinador>(); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
264 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
265 // foreach (var patrocinadorId in patrocinadores) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
266 // { |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
267 // if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId)) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
268 // { |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
269 // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
270 // agregar.Add(patrocinador); |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
271 // } |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
272 // } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
273 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
274 // foreach (var patrocinador in evento.Patrocinadores) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
275 // { |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
276 // if (!patrocinadores.Any(p => p == patrocinador.Id)) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
277 // quitar.Add(patrocinador); |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
278 // } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
279 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
280 // foreach (var patrocinador in agregar) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
281 // evento.AddPatrocinador(patrocinador); |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
282 |
200
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
283 // foreach (var patrocinador in quitar) |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
284 // evento.RemovePatrocinador(patrocinador); |
5346c0500594
Pasando a estructura de db fija, ya no se crea automáticamente.
nelopauselli
parents:
196
diff
changeset
|
285 //} |
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
|
286 |
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
|
287 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
|
288 { |
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
|
289 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
|
290 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
|
291 _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
|
292 } |
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
|
293 |
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 //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
|
295 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
|
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 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
|
298 _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
|
299 } |
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 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
302 } |