annotate Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 196:bb7a60c28d8d

TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
author juanjose.montesdeocaarbos
date Sat, 13 Aug 2011 01:52:00 -0300
parents 4d0b2552edb2
children 5346c0500594 04972ef8b6d2
rev   line source
1
6bb4ab4c0611 Tests de Crud para repositorio de Vans
nelopauselli
parents: 0
diff changeset
1 using System;
2
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents: 1
diff changeset
2 using System.Collections.Generic;
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
3 using System.Linq;
4
49b572535156 proponer van
nelopauselli
parents: 3
diff changeset
4 using AltNetHispano.Agendas.Domain.Exceptions;
15
08b9e96132a5 Persistimos los eventos de la agenda
nelo@MTEySS.neluz.int
parents: 14
diff changeset
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;
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
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
c03560ae4762 Test de Crud para la agenda
nelopauselli
parents: 1
diff changeset
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,
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
18 IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository)
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;
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
21 _patrocinadorRepository = patrocinadorRepository;
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
5f007e266509 code cleanup
nelopauselli
parents: 2
diff changeset
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
6bb4ab4c0611 Tests de Crud para repositorio de Vans
nelopauselli
parents: 0
diff changeset
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
8fa58a79656a Historico
Nelo@Kenia.neluz.int
parents: 118
diff changeset
48
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
49 public EventoResultado ModificarEvento(Guid eventoId, string titulo, Guid ponenteId, 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 {
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
51 Evento evento = GetEvento(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
52 Persona persona = _personaRepository.Get(ponenteId);
39
e548379cc314 track de cambios en evento
nelo@MTEySS.neluz.int
parents: 38
diff changeset
53
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
54 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
55 evento.CambiarTitulo(titulo);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
56
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
57 if (evento.FechaInicio == null && fechaInicio != null && evento.FechaTermino == null && fechaTermino != null)
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 183
diff changeset
58 evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion);
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 else if (evento.FechaInicio != fechaInicio || evento.Ponente != persona || evento.UrlInvitacion != urlInvitacion ||
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 183
diff changeset
60 evento.FechaTermino != fechaTermino)
2d02adb79322 Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents: 183
diff changeset
61 evento.Actualizar(persona, fechaInicio, fechaTermino, urlInvitacion);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 50
diff changeset
62
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
63 Notify(evento);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
64
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
65 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 53
diff changeset
66
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
67 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
68 }
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
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
70 public EventoResultado ModificarPropuesta(Guid id, string titulo, Guid ponenteId, 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
71 {
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
72 return ModificarEvento(id, titulo, ponenteId, 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
73 }
4
49b572535156 proponer van
nelopauselli
parents: 3
diff changeset
74
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
75 public EventoResultado Proponer(string titulo, Guid? ponenteId, 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
76 {
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 Persona persona = 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
78 if (ponenteId.HasValue)
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
79 persona = _personaRepository.Get(ponenteId.Value);
21
43360bf09b1a unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents: 18
diff changeset
80
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
81 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 50
diff changeset
82
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
83 if (string.IsNullOrWhiteSpace(evento.Titulo))
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
84 return new EventoResultado(false,"Debe indicar el título del evento", null);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
85
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
86 Notify(evento);
53
d149bfea3892 Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents: 50
diff changeset
87
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
88 _eventosRepository.Save(evento);
4
49b572535156 proponer van
nelopauselli
parents: 3
diff changeset
89
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
90 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
57
3d9e6d56d903 Refactoring del track de cambios de un evento
nelopauselli
parents: 54
diff changeset
91
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
92 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
93 }
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
94
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
95 public EventoResultado Agendar(string titulo, Guid ponenteId, 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
96 {
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
97 if (!fechaInicio.HasValue)
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
98 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
99 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
100 return new EventoResultado(false, "Debe indicar la hora y duración", null);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 21
diff changeset
101
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
102 Persona persona = _personaRepository.Get(ponenteId);
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
103 if (persona == 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
104 return new EventoResultado(false, string.Format("No se encontró el ponente indicado ({0})", ponenteId), null);
39
e548379cc314 track de cambios en evento
nelo@MTEySS.neluz.int
parents: 38
diff changeset
105
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
106 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
107
196
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
108 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
109 {
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
110 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
111 {
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
112 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
113 }
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
114 }
bb7a60c28d8d TEST: Verificar que no se modifique una propuesta de VAN al intentar agendarla con fechas usadas.
juanjose.montesdeocaarbos
parents: 195
diff changeset
115
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
116 if (evento == 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
117 evento = Evento.Agendar(titulo, persona, 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
118 else
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
119 evento.Agendar(persona, 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
120
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
121 Notify(evento);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
122
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
123 _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
124
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
125 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
126
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
127 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
128 }
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
129
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
130 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
131 {
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
132 Evento evento = GetEvento(eventoId);
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 evento.Confirmar();
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
135
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
136 Notify(evento);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
137
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
138 _eventosRepository.Save(evento);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
139
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
140 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
141
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
142 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
143 }
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
144
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
145 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
146 {
161
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
147 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
148 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
149
c1062de96845 Al publicar una agenda el nroOrden debe ser mayor a cero y urlWiki no vacio.
juanjose.montesdeocaarbos
parents: 145
diff changeset
150 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
151 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
152
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
153 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
154 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
155
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
156 Evento evento = GetEvento(eventoId);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
157
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 161
diff changeset
158 evento.Publicar(numeroOrden, urlWiki, duracion);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
159
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 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
161
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
162 _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
163
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
164 var warnings = evento.GetLogsNews().Where(l => !l.Successful);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents: 79
diff changeset
165
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
166 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
167 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents: 21
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 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
170 {
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
171 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
172
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
173 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
174
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
175 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
176
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
177 _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
178
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
179 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
180
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
181 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
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
183
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
184 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
185 {
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
186 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
187
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
188 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
189
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
190 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
191
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 119
diff changeset
192 _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
193
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
194 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
195
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
196 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
197 }
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
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
199 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
200 {
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
201 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
202
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 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
204
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 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
206
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 _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
208
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
209 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
210
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
211 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
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
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
214 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
215 {
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
216 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
217
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 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
219
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 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
221
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 _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
223
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
224 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
225
183
212c664db5aa Generalización del manejo de las acciones sobre eventos
nelopauselli
parents: 182
diff changeset
226 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
227 }
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
228
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 public void IndicarPatrocinadores(Guid eventoId, IEnumerable<Guid> patrocinadores)
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
230 {
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
231 var evento = GetEvento(eventoId);
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
232
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
233 var agregar = new List<Patrocinador>();
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
234 var quitar = new List<Patrocinador>();
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
235
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
236 foreach (var patrocinadorId in patrocinadores)
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
237 {
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
238 if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId))
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
239 {
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
240 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
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
241 agregar.Add(patrocinador);
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
242 }
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
243 }
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
244
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
245 foreach (var patrocinador in evento.Patrocinadores)
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
246 {
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
247 if (!patrocinadores.Any(p => p == patrocinador.Id))
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
248 quitar.Add(patrocinador);
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
249 }
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
250
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
251 foreach (var patrocinador in agregar)
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
252 evento.AddPatrocinador(patrocinador);
138
62791999ad01 Agregando relación entre Evento y Patrocinador
nelopauselli
parents: 133
diff changeset
253
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
254 foreach (var patrocinador in quitar)
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
255 evento.RemovePatrocinador(patrocinador);
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
256 }
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
257
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
258 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
259 {
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
260 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
261 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
262 _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
263 }
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
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
265 //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
266 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
267 {
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
268 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
269 _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
270 }
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
271
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
272 }
0
3f7dbb633b71 Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff changeset
273 }