annotate Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 166:fae2feae499e

Usando DefaultEditor para Publicar EditorTemplate para TimeSpan
author nelopauselli
date Fri, 05 Aug 2011 22:56:43 -0300
parents 557c386fcecc
children ea85bd893247
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 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
58 this.AddNotification("Datos guardados");
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();
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
70 agenda.Confirmar(new Guid(id));
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
71
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
72 this.AddNotification("Evento confirmado");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
73 return RedirectToAction("Index");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
74 }
116
53bcd338542b acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents: 106
diff changeset
75
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
76 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
77 public ActionResult Publicar(string id)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
78 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
79 var agenda = AgendaFactory.GetAgenda();
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
80 var evento = agenda.GetEvento(new Guid(id));
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
81
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
82 var model = new EventoPublicarModel
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
83 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
84 Id = id,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
85 Titulo = evento.Titulo,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
86 NroOrden = 0, //TODO: Obtener el último y sumarle uno.
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
87 UrlWiki = evento.UrlWiki,
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
88 DuracionReal = new TimeSpan(0, 0, 0)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
89 };
166
fae2feae499e Usando DefaultEditor para Publicar
nelopauselli
parents: 162
diff changeset
90 return View("Defaulteditor", model);
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
91 }
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
92
162
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
93 [HttpPost]
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
94 [Authorize]
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
95 public ActionResult Publicar(EventoPublicarModel model)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
96 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
97 if (ModelState.IsValid)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
98 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
99 var agenda = AgendaFactory.GetAgenda();
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 var r = agenda.Publicar(new Guid(model.Id), model.NroOrden, model.UrlWiki);
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
102 if (r.Succeful)
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
103 {
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
104 this.AddNotification(string.Format("Evento publicado {0}", model.Titulo));
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
105 return RedirectToAction("Index");
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
106 }
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
107 ModelState.AddModelError("error", r.ToString());
557c386fcecc Ticket 153: UI de Publicar.
juanjose.montesdeocaarbos
parents: 155
diff changeset
108 }
166
fae2feae499e Usando DefaultEditor para Publicar
nelopauselli
parents: 162
diff changeset
109 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
110 }
116
53bcd338542b acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents: 106
diff changeset
111
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
112 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
113 public ActionResult Modificar(string id)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
114 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
115 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
116 var evento = agenda.GetEvento(new Guid(id));
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
117
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
118 var model = new EventoEditModel
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
119 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
120 Id = id,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
121 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
122 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty,
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
123 Fecha = evento.Fecha,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
124 UrlInvitacion = evento.UrlInvitacion
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
125 };
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
126 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
127 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
128
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
129 [HttpPost]
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
130 [Authorize]
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
131 public ActionResult Modificar(EventoEditModel model)
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
132 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
133 if (ModelState.IsValid)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
134 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
135 var agenda = AgendaFactory.GetAgenda();
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
136
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
137 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
138 if (r.Succeful)
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
139 {
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
140 this.AddNotification("datos guardados");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
141 return RedirectToAction("Index");
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
142 }
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
143 ModelState.AddModelError("error", r.ToString());
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
144 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
145 return View("Defaulteditor", model);
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
146 }
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
147
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
148 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
149 public ActionResult Agendar(string id)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
150 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
151 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
152 var evento = agenda.GetEvento(new Guid(id));
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
153
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
154 var model = new EventoAgendarModel
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
155 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
156 Id = id,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
157 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
158 Ponente = evento.Ponente != null ? evento.Ponente.Id : Guid.Empty,
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
159 Fecha = evento.Fecha,
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
160 UrlInvitacion = evento.UrlInvitacion
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
161 };
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
162 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
163 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
164
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
165 [HttpPost]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
166 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
167 public ActionResult Agendar(EventoAgendarModel model)
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 if (ModelState.IsValid)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
170 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
171 var agenda = AgendaFactory.GetAgenda();
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 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
174 if (r.Succeful)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
175 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
176 this.AddNotification("evento agendado");
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
177 return RedirectToAction("Index");
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
178 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
179 ModelState.AddModelError("error", r.ToString());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
180 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
181 return View("Defaulteditor", model);
118
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
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
184 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
185 public ActionResult Proponer()
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
186 {
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
187 var model = new PropuestaNewModel();
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
188 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
189 }
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
190
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
191 [HttpPost]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
192 [Authorize]
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
193 public ActionResult Proponer(PropuestaNewModel model)
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 if (ModelState.IsValid)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
196 {
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
197 var agenda = AgendaFactory.GetAgenda();
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
198
141
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents: 140
diff changeset
199 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
200 if (r.Succeful)
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
201 return RedirectToAction("Index");
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
202 ModelState.AddModelError("error", r.ToString());
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
203 }
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 145
diff changeset
204 return View("Defaulteditor", model);
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
205 }
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
206
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
207 [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
208 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
209 {
6f1041301797 Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents: 118
diff changeset
210 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
211 agenda.Cancelar(new Guid(id));
118
b74734a1a755 Manejo de eventos por estado
Nelo@Kenia.neluz.int
parents: 117
diff changeset
212
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
213 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
214 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
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
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 [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
218 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
219 {
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 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
221 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
222
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 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
224 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
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
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 [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
228 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
229 {
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 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
231 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
232
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 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
234 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
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
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 [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
238 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
239 {
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 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
241 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
242
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 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
244 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
245 }
117
7ef7e4bb71f6 manejo de mensajes al usuario
Nelo@Kenia.neluz.int
parents: 116
diff changeset
246 }
25
e8d2be47a6b0 Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff changeset
247 }