Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 193:523e3586b1c1
Combinar
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 10 Aug 2011 08:21:32 -0300 |
parents | 2d02adb79322 |
children | 607384590bf8 |
rev | line source |
---|---|
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
1 using System; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
2 using System.Linq; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
3 using System.Web.Mvc; |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
97
diff
changeset
|
4 using AltNetHispano.Agendas.Domain; |
34
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
5 using AltNetHispano.Agendas.Factories; |
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
6 using AltNetHispano.Agendas.Web.Models; |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
7 |
34
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
8 namespace AltNetHispano.Agendas.Web.Controllers |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
9 { |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
141
diff
changeset
|
10 public class EventoController : Controller |
117 | 11 { |
12 public ActionResult Index() | |
13 { | |
14 var agenda = AgendaFactory.GetAgenda(); | |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
97
diff
changeset
|
15 |
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
|
16 var model = new EventoIndexModel |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
17 { |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
18 ProximosEventos = from e in agenda.GetEventosActivos() |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
19 orderby e.FechaInicio |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
20 select new EventoDto |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
21 { |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
22 Id = e.Id.ToString(), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
23 Titulo = e.Titulo, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
24 Fecha = |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
25 e.FechaInicio.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
|
26 ? e.FechaInicio.Value.ToShortDateString() + " " + |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
27 e.FechaInicio.Value.ToShortTimeString() |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
28 : string.Empty, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
29 Duracion = |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
30 e.FechaInicio.HasValue && e.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
|
31 ? e.FechaTermino.Value.Subtract(e.FechaInicio.Value). |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
32 ToString("c") |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
33 : string.Empty, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
34 Estado = e.Estado.Descripcion, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
35 PuedeAgendar = e.Estado.PuedePromover(Accion.Agendar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
36 PuedeModificar = e.Estado.PuedePromover(Accion.Modificar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
37 PuedeConfirmar = e.Estado.PuedePromover(Accion.Confirmar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
38 PuedePublicar = e.Estado.PuedePromover(Accion.Publicar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
39 PuedeCancelar = e.Estado.PuedePromover(Accion.Cancelar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
40 PuedeDescartar = e.Estado.PuedePromover(Accion.Descartar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
41 PuedeReAgendar = e.Estado.PuedePromover(Accion.ReAgendar), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
42 PuedeReProponer = e.Estado.PuedePromover(Accion.ReProponer) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
43 } |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
44 }; |
117 | 45 return View(model); |
46 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
47 |
179 | 48 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 49 public ActionResult Nuevo() |
117 | 50 { |
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
|
51 var model = new EventoNewModel { Fecha = DateTime.Now, Duracion = new TimeSpan(2, 0, 0), Hora = new TimeSpan(18, 0, 0) }; |
155
23aaf98b8377
Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents:
145
diff
changeset
|
52 return View("Defaulteditor", model); |
117 | 53 } |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
54 |
117 | 55 [HttpPost] |
179 | 56 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 57 public ActionResult Nuevo(EventoNewModel model) |
117 | 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 return |
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 GenericAction( |
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 (agenda, m) => agenda.Agendar(m.Titulo, m.Ponente, GenerarFechaInicio(m.Fecha, m.Hora), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
62 GenerarFechaTermino(m.Fecha, m.Hora, m.Duracion), m.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
|
63 (TipoEvento) m.TipoEvento), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
64 m => View("Defaulteditor", m), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
65 model); |
117 | 66 } |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
67 |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
68 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 69 public ActionResult Confirmar(string id) |
117 | 70 { |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
71 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
72 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
73 (agenda, m) => agenda.Confirmar(m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
74 m => View("Index", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
75 new Guid(id)); |
117 | 76 } |
116
53bcd338542b
acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents:
106
diff
changeset
|
77 |
179 | 78 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 79 public ActionResult Publicar(string id) |
117 | 80 { |
81 var agenda = AgendaFactory.GetAgenda(); | |
162 | 82 var evento = agenda.GetEvento(new Guid(id)); |
83 | |
84 var model = new EventoPublicarModel | |
85 { | |
86 Id = id, | |
87 Titulo = evento.Titulo, | |
88 NroOrden = 0, //TODO: Obtener el último y sumarle uno. | |
89 UrlWiki = evento.UrlWiki, | |
90 DuracionReal = new TimeSpan(0, 0, 0) | |
91 }; | |
166 | 92 return View("Defaulteditor", model); |
162 | 93 } |
117 | 94 |
162 | 95 [HttpPost] |
179 | 96 [CustomAuthorize(Roles = Roles.Administrador)] |
162 | 97 public ActionResult Publicar(EventoPublicarModel model) |
98 { | |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
99 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
100 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
101 (agenda, m) => agenda.Publicar(new Guid(m.Id), m.NroOrden, m.UrlWiki, m.DuracionReal), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
102 m => View("Defaulteditor", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
103 model); |
117 | 104 } |
116
53bcd338542b
acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents:
106
diff
changeset
|
105 |
179 | 106 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 107 public ActionResult Modificar(string id) |
108 { | |
109 var agenda = AgendaFactory.GetAgenda(); | |
110 var evento = agenda.GetEvento(new Guid(id)); | |
111 | |
112 var model = new EventoEditModel | |
113 { | |
114 Id = id, | |
115 Titulo = evento.Titulo, | |
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:
144
diff
changeset
|
116 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty, |
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 Fecha = evento.FechaInicio, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
118 Hora = evento.FechaInicio != null ? evento.FechaInicio.Value.TimeOfDay : (TimeSpan?)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
|
119 Duracion = evento.FechaInicio!=null && evento.FechaTermino!=null ? evento.FechaTermino.Value.Subtract(evento.FechaInicio.Value) : (TimeSpan?) null, |
118 | 120 UrlInvitacion = evento.UrlInvitacion |
121 }; | |
155
23aaf98b8377
Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents:
145
diff
changeset
|
122 return View("Defaulteditor", model); |
118 | 123 } |
124 | |
117 | 125 [HttpPost] |
179 | 126 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 127 public ActionResult Modificar(EventoEditModel model) |
117 | 128 { |
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
|
129 return |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
130 GenericAction( |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
131 (agenda, m) => |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
132 agenda.ModificarEvento(new Guid(m.Id), m.Titulo, m.Ponente, GenerarFechaInicio(m.Fecha, m.Hora), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
133 GenerarFechaTermino(m.Fecha, m.Hora, m.Duracion), m.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
|
134 m => View("Defaulteditor", m), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
135 model); |
117 | 136 } |
118 | 137 |
179 | 138 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 139 public ActionResult Agendar(string id) |
140 { | |
141 var agenda = AgendaFactory.GetAgenda(); | |
142 var evento = agenda.GetEvento(new Guid(id)); | |
143 | |
144 var model = new EventoAgendarModel | |
145 { | |
146 Id = id, | |
147 Titulo = evento.Titulo, | |
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:
144
diff
changeset
|
148 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty, |
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
|
149 Fecha = evento.FechaInicio, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
150 Hora = evento.FechaInicio != null ? evento.FechaInicio.Value.TimeOfDay : (TimeSpan?)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
|
151 Duracion = evento.FechaInicio != null && evento.FechaTermino != null ? evento.FechaTermino.Value.Subtract(evento.FechaInicio.Value) : (TimeSpan?)null, |
118 | 152 UrlInvitacion = evento.UrlInvitacion |
153 }; | |
155
23aaf98b8377
Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents:
145
diff
changeset
|
154 return View("Defaulteditor", model); |
118 | 155 } |
156 | |
157 [HttpPost] | |
179 | 158 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 159 public ActionResult Agendar(EventoAgendarModel model) |
160 { | |
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
|
161 return |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
162 GenericAction( |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
163 (agenda, m) => |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
164 agenda.ModificarEvento(new Guid(m.Id), m.Titulo, m.Ponente, GenerarFechaInicio(m.Fecha, m.Hora), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
165 GenerarFechaTermino(m.Fecha, m.Hora, m.Duracion), m.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
|
166 m => View("Defaulteditor", m), |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
167 model); |
118 | 168 } |
169 | |
179 | 170 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 171 public ActionResult Proponer() |
172 { | |
155
23aaf98b8377
Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents:
145
diff
changeset
|
173 var model = new PropuestaNewModel(); |
23aaf98b8377
Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents:
145
diff
changeset
|
174 return View("Defaulteditor", model); |
118 | 175 } |
176 | |
177 [HttpPost] | |
179 | 178 [CustomAuthorize(Roles = Roles.Administrador)] |
118 | 179 public ActionResult Proponer(PropuestaNewModel model) |
180 { | |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
181 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
182 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
183 (agenda, m) => agenda.Proponer(m.Titulo, m.Ponente, m.UrlInvitacion, (TipoEvento)m.TipoEvento), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
184 m => View("Defaulteditor", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
185 model); |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
186 } |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
187 |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
188 [CustomAuthorize(Roles = Roles.Administrador)] |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
189 public ActionResult Cancelar(string id) |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
190 { |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
191 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
192 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
193 (agenda, m) => agenda.Cancelar(m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
194 m => View("Index", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
195 new Guid(id)); |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
196 } |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
197 |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
198 [CustomAuthorize(Roles = Roles.Administrador)] |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
199 public ActionResult Descartar(string id) |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
200 { |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
201 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
202 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
203 (agenda, m) => agenda.Descartar(m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
204 m => View("Index", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
205 new Guid(id)); |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
206 } |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
207 |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
208 [CustomAuthorize(Roles = Roles.Administrador)] |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
209 public ActionResult ReAgendar(string id) |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
210 { |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
211 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
212 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
213 (agenda, m) => agenda.ReAgendar(m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
214 m => View("Index", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
215 new Guid(id)); |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
216 } |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
217 |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
218 [CustomAuthorize(Roles = Roles.Administrador)] |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
219 public ActionResult ReProponer(string id) |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
220 { |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
221 return |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
222 GenericAction( |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
223 (agenda, m) => agenda.ReProponer(m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
224 m => View("Index", m), |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
225 new Guid(id)); |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
226 } |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
227 |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
228 private ActionResult GenericAction<TModel>(Func<Agenda, TModel, EventoResultado> action, Func<TModel, ActionResult> actionresultOnFail, TModel model) |
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
229 { |
118 | 230 if (ModelState.IsValid) |
231 { | |
232 var agenda = AgendaFactory.GetAgenda(); | |
233 | |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
234 var r = action.Invoke(agenda, model); |
118 | 235 if (r.Succeful) |
167 | 236 { |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
237 this.AddNotification(r.Message); |
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:
179
diff
changeset
|
238 foreach (var log in r.Warnings) |
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:
179
diff
changeset
|
239 this.AddWarning(log.WarningMessage); |
118 | 240 return RedirectToAction("Index"); |
167 | 241 } |
118 | 242 ModelState.AddModelError("error", r.ToString()); |
243 } | |
183
212c664db5aa
Generalización del manejo de las acciones sobre eventos
nelopauselli
parents:
182
diff
changeset
|
244 return actionresultOnFail.Invoke(model); |
118 | 245 } |
179 | 246 |
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
|
247 private DateTime? GenerarFechaInicio(DateTime? fecha, TimeSpan? hora) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
248 { |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
249 return fecha.HasValue && hora.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
|
250 ? new DateTime(fecha.Value.Year, fecha.Value.Month, fecha.Value.Day, hora.Value.Hours, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
251 hora.Value.Minutes, hora.Value.Seconds, DateTimeKind.Utc) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
252 : (DateTime?) 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
|
253 } |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
254 private DateTime? GenerarFechaTermino(DateTime? fecha, TimeSpan? hora, TimeSpan? duracion) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
255 { |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
256 return fecha.HasValue && hora.HasValue && duracion.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
|
257 ? new DateTime(fecha.Value.Year, fecha.Value.Month, fecha.Value.Day, hora.Value.Hours, |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
258 hora.Value.Minutes, hora.Value.Seconds, DateTimeKind.Utc).Add(duracion.Value) |
2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
alabra
parents:
183
diff
changeset
|
259 : (DateTime?) 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
|
260 } |
118 | 261 |
117 | 262 } |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
263 } |