Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 26:71b02443450a
UI de Propuestas de VANs
author | nelo@MTEySS.neluz.int |
---|---|
date | Tue, 15 Mar 2011 08:45:00 -0300 |
parents | e8d2be47a6b0 |
children | 29b8a8893ba3 |
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; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
4 using Agendas.Factories; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
5 using Agendas.Web.Models; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
6 using AltNetHispano.Agendas.Domain.Exceptions; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
7 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
8 namespace Agendas.Web.Controllers |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
9 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
10 public class EventoController : Controller |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
11 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
12 public ActionResult Index() |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
13 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
14 var model = GetIndexModel(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
15 return View(model); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
16 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
17 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
18 private static EventoIndexModel GetIndexModel() |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
19 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
20 var agenda = AgendaFactory.GetAgenda(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
21 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
22 return new EventoIndexModel |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
23 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
24 ProximosEventos = from e in agenda.GetEventosPublicados() |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
25 select new EventoDto {Id = e.Id.ToString(), Titulo = e.Titulo} |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
26 }; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
27 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
28 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
29 [Authorize] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
30 public ActionResult New() |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
31 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
32 return View(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
33 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
34 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
35 [HttpPost] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
36 [Authorize] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
37 public ActionResult New(EventoNewModel model) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
38 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
39 if (ModelState.IsValid) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
40 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
41 var agenda = AgendaFactory.GetAgenda(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
42 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
43 try |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
44 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
45 agenda.Publicar(model.Titulo, model.Ponente, model.Fecha); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
46 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
47 return View("Index", GetIndexModel()); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
48 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
49 catch (ValidationException ex) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
50 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
51 ModelState.AddModelError("error", ex.ToString()); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
52 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
53 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
54 return View(model); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
55 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
56 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
57 [Authorize] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
58 public ActionResult Edit(string id) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
59 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
60 var agenda = AgendaFactory.GetAgenda(); |
26 | 61 var evento = agenda.GetEvento(new Guid(id)); |
25
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
62 if (evento!=null) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
63 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
64 var model = new EventoEditModel |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
65 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
66 Id = id, |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
67 Titulo = evento.Titulo, |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
68 Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty, |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
69 Fecha = evento.Fecha |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
70 }; |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
71 return View(model); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
72 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
73 ModelState.AddModelError("error","No se encontró el evento que quiere modificar"); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
74 return View(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
75 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
76 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
77 [HttpPost] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
78 [Authorize] |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
79 public ActionResult Edit(EventoEditModel model) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
80 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
81 if (ModelState.IsValid) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
82 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
83 var agenda = AgendaFactory.GetAgenda(); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
84 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
85 try |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
86 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
87 agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
88 |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
89 return View("Index", GetIndexModel()); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
90 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
91 catch (ValidationException ex) |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
92 { |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
93 ModelState.AddModelError("error", ex.ToString()); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
94 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
95 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
96 return View(model); |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
97 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
98 } |
e8d2be47a6b0
Cambios de nombre en Portal.Web (Agenda x Evento)
nelo@MTEySS.neluz.int
parents:
diff
changeset
|
99 } |