Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 117:7ef7e4bb71f6
manejo de mensajes al usuario
author | Nelo@Kenia.neluz.int |
---|---|
date | Sun, 19 Jun 2011 13:35:34 -0300 |
parents | 53bcd338542b |
children | b74734a1a755 |
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 { |
117 | 10 public class EventoController : Controller |
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 |
117 | 16 var model = new EventoIndexModel |
116
53bcd338542b
acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents:
106
diff
changeset
|
17 { |
117 | 18 ProximosEventos = from e in agenda.GetEventosAgendados() |
19 orderby e.Fecha | |
20 select new EventoDto | |
21 { | |
22 Id = e.Id.ToString(), | |
23 Titulo = e.Titulo, | |
24 Fecha = e.Fecha.Value, | |
25 PuedeModificar = e.GetEstado().PuedePromover(Accion.Modificar), | |
26 PuedeConfirmar = e.GetEstado().PuedePromover(Accion.Confirmar), | |
27 PuedePublicar = e.GetEstado().PuedePromover(Accion.Publicar) | |
28 } | |
29 }; | |
30 return View(model); | |
31 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
32 |
117 | 33 [Authorize] |
34 public ActionResult New() | |
35 { | |
36 return View(new EventoNewModel()); | |
37 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
38 |
117 | 39 [HttpPost] |
40 [Authorize] | |
41 public ActionResult New(EventoNewModel model) | |
42 { | |
43 if (ModelState.IsValid) | |
44 { | |
45 var agenda = AgendaFactory.GetAgenda(); | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
46 |
117 | 47 var r = agenda.Agendar(model.Titulo, model.Ponente, model.Fecha, |
48 model.UrlInvitacion, (TipoEvento)model.Tipo); | |
49 if (r.Succeful) | |
50 { | |
51 this.AddNotification("Datos guardados"); | |
52 return RedirectToAction("Index"); | |
53 } | |
54 ModelState.AddModelError("error", r.ToString()); | |
55 } | |
56 return View(model); | |
57 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
58 |
117 | 59 [Authorize] |
60 public ActionResult Edit(string id) | |
61 { | |
62 var agenda = AgendaFactory.GetAgenda(); | |
63 var evento = agenda.GetEvento(new Guid(id)); | |
106
80c22175c9b5
agregado de tipo de evento (van, cafe, grupoestudio)
jorge.rowies
parents:
97
diff
changeset
|
64 |
117 | 65 var model = new EventoEditModel |
66 { | |
67 Id = id, | |
68 Titulo = evento.Titulo, | |
69 Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty, | |
70 Fecha = evento.Fecha, | |
71 UrlInvitacion = evento.UrlInvitacion | |
72 }; | |
73 return View(model); | |
74 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
75 |
117 | 76 [Authorize] |
77 public ActionResult Confirm(string id) | |
78 { | |
79 var agenda = AgendaFactory.GetAgenda(); | |
80 agenda.Confirmar(new Guid(id)); | |
81 | |
82 this.AddNotification("Evento confirmado"); | |
83 return RedirectToAction("Index"); | |
84 } | |
116
53bcd338542b
acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents:
106
diff
changeset
|
85 |
117 | 86 [Authorize] |
87 public ActionResult Publish(string id) | |
88 { | |
89 var agenda = AgendaFactory.GetAgenda(); | |
90 agenda.Publicar(new Guid(id), 0, string.Empty); | |
91 | |
92 this.AddNotification("Evento publicado"); | |
93 return RedirectToAction("Index"); | |
94 } | |
116
53bcd338542b
acciones de confirmar y publicar desde la UI
Nelo@Kenia.neluz.int
parents:
106
diff
changeset
|
95 |
117 | 96 [HttpPost] |
97 [Authorize] | |
98 public ActionResult Edit(EventoEditModel model) | |
99 { | |
100 if (ModelState.IsValid) | |
101 { | |
102 var agenda = AgendaFactory.GetAgenda(); | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
103 |
117 | 104 var r = agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha.Value, model.UrlInvitacion); |
105 if (r.Succeful) | |
106 { | |
107 this.AddNotification("datos guardados"); | |
108 return RedirectToAction("Index"); | |
109 } | |
110 ModelState.AddModelError("error", r.ToString()); | |
111 } | |
112 return View(model); | |
113 } | |
114 } | |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
115 } |