annotate Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 177:784d81e32366

Quitando la opción de proponer para esta versión
author nelopauselli
date Mon, 08 Aug 2011 10:22:22 -0300
parents 5c94b052d838
children 1deccd6c3cb2
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
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
11 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
12 public ActionResult Index()
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
13 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
14 var agenda = AgendaFactory.GetAgenda();
106
80c22175c9b5 agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents: 97
diff changeset
15
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
16 var model = new EventoIndexModel
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
17 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
18 ProximosEventos = from e in agenda.GetEventosActivos()
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
19 orderby e.Fecha
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
20 select new EventoDto
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
21 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
22 Id = e.Id.ToString(),
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
23 Titulo = e.Titulo,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
24 Fecha = e.Fecha.HasValue ? e.Fecha.Value.ToShortDateString() : string.Empty,
140
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
25 Estado = e.Estado.Descripcion,
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
26 PuedeAgendar = e.Estado.PuedePromover(Accion.Agendar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
27 PuedeModificar = e.Estado.PuedePromover(Accion.Modificar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
28 PuedeConfirmar = e.Estado.PuedePromover(Accion.Confirmar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
29 PuedePublicar = e.Estado.PuedePromover(Accion.Publicar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
30 PuedeCancelar = e.Estado.PuedePromover(Accion.Cancelar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
31 PuedeDescartar = e.Estado.PuedePromover(Accion.Descartar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
32 PuedeReAgendar = e.Estado.PuedePromover(Accion.ReAgendar),
3639803112c6 Refactoring de la relación entre Evento y Estado
nelopauselli
parents: 133
diff changeset
33 PuedeReProponer = e.Estado.PuedePromover(Accion.ReProponer)
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
34 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
35 };
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
36 return View(model);
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
37 }
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
38
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
39 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
40 public ActionResult Nuevo()
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
41 {
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
42 var model = new EventoNewModel {Fecha = DateTime.Now};
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
43 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
44 }
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
45
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
46 [HttpPost]
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
47 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
48 public ActionResult Nuevo(EventoNewModel model)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
49 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
50 if (ModelState.IsValid)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
51 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
52 var agenda = AgendaFactory.GetAgenda();
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
53
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
54 var r = agenda.Agendar(model.Titulo, model.Ponente, model.Fecha,
141
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents: 140
diff changeset
55 model.UrlInvitacion, (TipoEvento)model.TipoEvento);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
56 if (r.Succeful)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
57 {
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
58 this.AddNotification("Evento creado");
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
59 return RedirectToAction("Index");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
60 }
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
61 ModelState.AddModelError("error", r.ToString());
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
62 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
63 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
64 }
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
65
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
66 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
67 public ActionResult Confirmar(string id)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
68 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
69 var agenda = AgendaFactory.GetAgenda();
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
70
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
71 var r = agenda.Confirmar(new Guid(id));
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
72 if (r.Succeful)
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
73 this.AddNotification("Evento confirmado");
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
74 else
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
75 this.AddError("Evento confirmado");
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
76
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
77 return RedirectToAction("Index");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
78 }
116
53bcd338542b acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents: 106
diff changeset
79
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
80 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
81 public ActionResult Publicar(string id)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
82 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
83 var agenda = AgendaFactory.GetAgenda();
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
84 var evento = agenda.GetEvento(new Guid(id));
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
85
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
86 var model = new EventoPublicarModel
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
87 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
88 Id = id,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
89 Titulo = evento.Titulo,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
90 NroOrden = 0, //TODO: Obtener el último y sumarle uno.
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
91 UrlWiki = evento.UrlWiki,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
92 DuracionReal = new TimeSpan(0, 0, 0)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
93 };
166
fae2feae499e Usando DefaultEditor para Publicar
nelopauselli
parents: 162
diff changeset
94 return View("Defaulteditor", model);
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
95 }
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
96
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
97 [HttpPost]
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
98 [Authorize]
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
99 public ActionResult Publicar(EventoPublicarModel model)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
100 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
101 if (ModelState.IsValid)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
102 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
103 var agenda = AgendaFactory.GetAgenda();
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
104
169
5c94b052d838 Ticket 153: UI de Publicar. Faltaba la Duración del evento en la capa de negocios.
juanjose.montesdeocaarbos
parents: 167
diff changeset
105 var r = agenda.Publicar(new Guid(model.Id), model.NroOrden, model.UrlWiki, model.DuracionReal);
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
106 if (r.Succeful)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
107 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
108 this.AddNotification(string.Format("Evento publicado {0}", model.Titulo));
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
109 return RedirectToAction("Index");
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
110 }
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
111 ModelState.AddModelError("error", r.ToString());
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
112 }
166
fae2feae499e Usando DefaultEditor para Publicar
nelopauselli
parents: 162
diff changeset
113 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
114 }
116
53bcd338542b acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents: 106
diff changeset
115
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
116 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
117 public ActionResult Modificar(string id)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
118 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
119 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
120 var evento = agenda.GetEvento(new Guid(id));
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
121
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
122 var model = new EventoEditModel
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
123 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
124 Id = id,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
125 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
126 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty,
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
127 Fecha = evento.Fecha,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
128 UrlInvitacion = evento.UrlInvitacion
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
129 };
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
130 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
131 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
132
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
133 [HttpPost]
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
134 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
135 public ActionResult Modificar(EventoEditModel model)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
136 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
137 if (ModelState.IsValid)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
138 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
139 var agenda = AgendaFactory.GetAgenda();
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
140
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
141 var r = agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha.Value, model.UrlInvitacion);
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
142 if (r.Succeful)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
143 {
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
144 this.AddNotification("evento modificado");
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
145 return RedirectToAction("Index");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
146 }
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
147 ModelState.AddModelError("error", r.ToString());
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
148 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
149 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
150 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
151
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
152 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
153 public ActionResult Agendar(string id)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
154 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
155 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
156 var evento = agenda.GetEvento(new Guid(id));
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
157
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
158 var model = new EventoAgendarModel
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
159 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
160 Id = id,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
161 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
162 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty,
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
163 Fecha = evento.Fecha,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
164 UrlInvitacion = evento.UrlInvitacion
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
165 };
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
166 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
167 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
168
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
169 [HttpPost]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
170 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
171 public ActionResult Agendar(EventoAgendarModel model)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
172 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
173 if (ModelState.IsValid)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
174 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
175 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
176
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
177 var r = agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha.Value, model.UrlInvitacion);
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
178 if (r.Succeful)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
179 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
180 this.AddNotification("evento agendado");
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
181 return RedirectToAction("Index");
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
182 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
183 ModelState.AddModelError("error", r.ToString());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
184 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
185 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
186 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
187
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
188 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
189 public ActionResult Proponer()
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
190 {
177
784d81e32366 Quitando la opción de proponer para esta versión
nelopauselli
parents: 169
diff changeset
191 throw new NotImplementedException();
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
192 var model = new PropuestaNewModel();
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
193 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
194 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
195
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
196 [HttpPost]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
197 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
198 public ActionResult Proponer(PropuestaNewModel model)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
199 {
177
784d81e32366 Quitando la opción de proponer para esta versión
nelopauselli
parents: 169
diff changeset
200 throw new NotImplementedException();
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
201 if (ModelState.IsValid)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
202 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
203 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
204
141
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents: 140
diff changeset
205 var r = agenda.Proponer(model.Titulo, model.Ponente, model.UrlInvitacion, (TipoEvento)model.TipoEvento);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
206 if (r.Succeful)
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
207 {
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
208 this.AddNotification("Evento propuesto");
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
209 return RedirectToAction("Index");
167
ea85bd893247 Ajustes menores de UI
nelopauselli
parents: 166
diff changeset
210 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
211 ModelState.AddModelError("error", r.ToString());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
212 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
213 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
214 }
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
215
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
216 [Authorize]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
217 public ActionResult Cancelar(string id)
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
218 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
219 var agenda = AgendaFactory.GetAgenda();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
220 agenda.Cancelar(new Guid(id));
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
221
133
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
222 this.AddNotification("Evento cancelado");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
223 return RedirectToAction("Index");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
224 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
225
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
226 [Authorize]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
227 public ActionResult Descartar(string id)
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
228 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
229 var agenda = AgendaFactory.GetAgenda();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
230 agenda.Descartar(new Guid(id));
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
231
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
232 this.AddNotification("Evento descartado");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
233 return RedirectToAction("Index");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
234 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
235
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
236 [Authorize]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
237 public ActionResult ReAgendar(string id)
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
238 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
239 var agenda = AgendaFactory.GetAgenda();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
240 agenda.ReAgendar(new Guid(id));
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
241
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
242 this.AddNotification("Evento re-agendado");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
243 return RedirectToAction("Index");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
244 }
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
245
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
246 [Authorize]
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
247 public ActionResult ReProponer(string id)
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
248 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
249 var agenda = AgendaFactory.GetAgenda();
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
250 agenda.ReProponer(new Guid(id));
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
251
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
252 this.AddNotification("Evento re-propuesto");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
253 return RedirectToAction("Index");
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
254 }
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
255 }
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
256 }