Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 140:3639803112c6
Refactoring de la relación entre Evento y Estado
author | nelopauselli |
---|---|
date | Fri, 29 Jul 2011 16:30:53 -0300 |
parents | 62791999ad01 |
children | e6e6bfb1da9e |
rev | line source |
---|---|
1 | 1 using System; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
2 using System.Collections; |
2 | 3 using System.Collections.Generic; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
4 using System.Linq; |
4 | 5 using AltNetHispano.Agendas.Domain.Exceptions; |
15 | 6 using AltNetHispano.Agendas.Domain.Repositories; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
8 namespace AltNetHispano.Agendas.Domain |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
9 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
10 public class Agenda |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
11 { |
54 | 12 private readonly IEventoRepository _eventosRepository; |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
13 private readonly IPersonaRepository _personaRepository; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
14 private readonly IPatrocinadorRepository _patrocinadorRepository; |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
15 |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
16 private readonly IPublicador _publicador; |
2 | 17 |
87
26d0513a8410
A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents:
82
diff
changeset
|
18 public Agenda(IPublicador publicador, IEventoRepository eventosRepository, |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
19 IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository) |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
20 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
21 _publicador = publicador; |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
22 _patrocinadorRepository = patrocinadorRepository; |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
23 _personaRepository = personaRepository; |
15 | 24 _eventosRepository = eventosRepository; |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
25 } |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
26 |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
27 public Evento GetEvento(Guid eventoId) |
54 | 28 { |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
29 Evento evento =_eventosRepository.Get(eventoId); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
30 if (evento == null) |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
31 throw new EventoNotFoundException(eventoId); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
32 return evento; |
54 | 33 } |
3 | 34 |
118 | 35 public IList<Evento> GetEventosActivos(EventoState state) |
54 | 36 { |
118 | 37 return _eventosRepository.GetByState(state) ?? new List<Evento>(); |
54 | 38 } |
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
|
39 |
118 | 40 public IList<Evento> GetEventosActivos() |
54 | 41 { |
118 | 42 return _eventosRepository.GetActivos() ?? new List<Evento>(); |
54 | 43 } |
1 | 44 |
119 | 45 public IEnumerable<Evento> GetHistorico() |
46 { | |
47 return _eventosRepository.GetByState(EventoPublicadoState.GetInstance()) ?? new List<Evento>(); | |
48 } | |
49 | |
82 | 50 public Resultado ModificarEvento(Guid eventoId, string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion) |
54 | 51 { |
82 | 52 Evento evento = GetEvento(eventoId); |
39 | 53 |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
54 Persona persona = null; |
59 | 55 if (!string.IsNullOrWhiteSpace(ponenteNombre)) |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
56 persona = GetPonente(ponenteNombre); |
54 | 57 |
58 if (evento.Titulo != titulo) | |
59 evento.CambiarTitulo(titulo); | |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
60 |
75 | 61 if (evento.Fecha == null && fecha != null) |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
62 evento.Agendar(persona, fecha, urlInvitacion); |
97
2434c2323f3d
En el evento, volvemos a llamar Ponente a la persona que está a cargo de la presentación
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
63 else if (evento.Fecha != fecha || evento.Ponente != persona || evento.UrlInvitacion != urlInvitacion) |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
64 evento.Actualizar(persona, fecha, urlInvitacion); |
54 | 65 |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
66 Notify(evento); |
4 | 67 |
54 | 68 return new Resultado(true); |
69 } | |
70 | |
75 | 71 public Resultado ModificarPropuesta(Guid id, string titulo, string ponenteNombre, string urlInvitacion) |
1 | 72 { |
75 | 73 return ModificarEvento(id, titulo, ponenteNombre, null, urlInvitacion); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
74 } |
4 | 75 |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
76 public Resultado Proponer(string titulo, string ponenteNombre, string urlInvitacion, TipoEvento tipo) |
4 | 77 { |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
78 Persona persona = GetPonente(ponenteNombre); |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
79 var evento = Evento.Proponer(titulo, persona, urlInvitacion, tipo); |
21
43360bf09b1a
unificando criterio de parámetros en Agenda
nelo@MTEySS.neluz.int
parents:
18
diff
changeset
|
80 |
12 | 81 if (string.IsNullOrWhiteSpace(evento.Titulo)) |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
82 return new Resultado(false); |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
83 |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
84 Notify(evento); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
85 |
15 | 86 _eventosRepository.Save(evento); |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
87 _personaRepository.Save(persona); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
88 |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
89 return new Resultado(true); |
4 | 90 } |
91 | |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
92 public Resultado Agendar(string titulo, string ponenteNombre, DateTime? fecha, string urlInvitacion, TipoEvento tipo) |
14 | 93 { |
57 | 94 if (!fecha.HasValue) |
95 return new Resultado(false); | |
96 if (string.IsNullOrWhiteSpace(ponenteNombre)) | |
97 return new Resultado(false); | |
98 | |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
99 Persona persona = GetPonente(ponenteNombre); |
24 | 100 |
57 | 101 Evento evento = _eventosRepository.GetPropuestaByTitulo(titulo); |
102 if (evento == null) | |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
105
diff
changeset
|
103 evento = Evento.Agendar(titulo, persona, fecha.Value, urlInvitacion, tipo); |
57 | 104 else |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
105 evento.Agendar(persona, fecha, urlInvitacion); |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
37
diff
changeset
|
106 |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
107 Notify(evento); |
39 | 108 |
54 | 109 _eventosRepository.Save(evento); |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
110 _personaRepository.Save(persona); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
111 |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
50
diff
changeset
|
112 return new Resultado(true); |
14 | 113 } |
11
9d6b28a696d1
corrección en método que verifica la autenticación del usuario
nelo@MTEySS.neluz.int
parents:
9
diff
changeset
|
114 |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
115 public Resultado Confirmar(Guid eventoId) |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
116 { |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
117 Evento evento = GetEvento(eventoId); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
118 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
119 evento.Confirmar(); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
120 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
121 Notify(evento); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
122 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
123 _eventosRepository.Save(evento); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
124 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
125 return new Resultado(true); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
126 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
127 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
97
diff
changeset
|
128 public Resultado Publicar(Guid eventoId, short numeroOrden, string urlWiki) |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
129 { |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
130 Evento evento = GetEvento(eventoId); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
131 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
97
diff
changeset
|
132 evento.Publicar(numeroOrden, urlWiki); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
133 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
134 Notify(evento); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
135 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
136 _eventosRepository.Save(evento); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
137 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
138 return new Resultado(true); |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
139 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
140 |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
141 private void Notify(Evento evento) |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
142 { |
87
26d0513a8410
A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents:
82
diff
changeset
|
143 var tracks = evento.GetTrackNews(); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
144 if (_publicador != null) |
87
26d0513a8410
A los publicadores les llega la lista de tracks producidos en la acción realizada
nelopauselli
parents:
82
diff
changeset
|
145 _publicador.Publicar(tracks); |
81
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
146 } |
c76661cff260
Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
79
diff
changeset
|
147 |
24 | 148 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) |
149 { | |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
150 var ponente = new Persona(nombre, mail, twitter, blog); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
151 _personaRepository.Save(ponente); |
24 | 152 } |
153 | |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
154 private Persona GetPonente(string nombre) |
24 | 155 { |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
156 Persona persona = _personaRepository.GetByNombre(nombre) ?? new Persona(nombre); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
157 _personaRepository.Save(persona); |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
87
diff
changeset
|
158 return persona; |
24 | 159 } |
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
|
160 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
161 public Resultado Cancelar(Guid 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
|
162 { |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
163 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
|
164 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
165 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
|
166 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
167 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
|
168 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
169 _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
|
170 |
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 return new Resultado(true); |
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 |
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 public Resultado Descartar(Guid 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
|
175 { |
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 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
|
177 |
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 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
|
179 |
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 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
|
181 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
182 _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
|
183 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
184 return new Resultado(true); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
185 } |
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 |
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 public Resultado ReProponer(Guid 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
|
188 { |
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 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
|
190 |
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 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
|
192 |
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 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
|
194 |
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 _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
|
196 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
197 return new Resultado(true); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
198 } |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
199 |
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 public Resultado ReAgendar(Guid 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 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
|
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 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
|
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 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
|
207 |
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 _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
|
209 |
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 return new Resultado(true); |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
119
diff
changeset
|
211 } |
138
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
212 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
213 public void IndicarPatrocinadores(Guid eventoId, Guid[] patrocinadores) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
214 { |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
215 var evento = GetEvento(eventoId); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
216 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
217 var agregar = new List<Patrocinador>(); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
218 var quitar = new List<Patrocinador>(); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
219 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
220 foreach (var patrocinadorId in patrocinadores) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
221 { |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
222 if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId)) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
223 { |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
224 var patrocinador = _patrocinadorRepository.Get(patrocinadorId); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
225 agregar.Add(patrocinador); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
226 } |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
227 } |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
228 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
229 foreach (var patrocinador in evento.Patrocinadores) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
230 { |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
231 if (!patrocinadores.Any(p => p == patrocinador.Id)) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
232 quitar.Add(patrocinador); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
233 } |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
234 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
235 foreach (var patrocinador in agregar) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
236 evento.AddPatrocinador(patrocinador); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
237 |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
238 foreach (var patrocinador in quitar) |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
239 evento.RemovePatrocinador(patrocinador); |
62791999ad01
Agregando relación entre Evento y Patrocinador
nelopauselli
parents:
133
diff
changeset
|
240 } |
14 | 241 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
242 } |