Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs @ 79:8df9db937434
Url de invitación en la UI: validación y persistencia
author | nelopauselli |
---|---|
date | Tue, 24 May 2011 18:08:59 -0300 |
parents | 96d7609f2e08 |
children | c8897b1c6f49 |
rev | line source |
---|---|
26 | 1 using System; |
2 using System.Linq; | |
3 using System.Web.Mvc; | |
34
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
4 using AltNetHispano.Agendas.Factories; |
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
5 using AltNetHispano.Agendas.Web.Models; |
26 | 6 |
34
475be11edf56
Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents:
27
diff
changeset
|
7 namespace AltNetHispano.Agendas.Web.Controllers |
26 | 8 { |
9 public class PropuestaController : Controller | |
10 { | |
11 public ActionResult Index() | |
12 { | |
13 var agenda = AgendaFactory.GetAgenda(); | |
14 | |
27 | 15 var model = new PropuestaIndexModel |
75 | 16 { |
17 Propuestas = from e in agenda.GetEventosPropuestos() | |
18 select | |
19 new PropuestaDto | |
20 { | |
21 Id = e.Id.ToString(), | |
22 Titulo = e.Titulo, | |
23 Ponente = e.Ponente != null ? e.Ponente.Nombre : string.Empty | |
24 } | |
25 }; | |
27 | 26 |
27 return View(model); | |
26 | 28 } |
29 | |
30 [Authorize] | |
31 public ActionResult New() | |
32 { | |
33 return View(); | |
34 } | |
35 | |
36 [HttpPost] | |
37 [Authorize] | |
38 public ActionResult New(PropuestaNewModel model) | |
39 { | |
40 if (ModelState.IsValid) | |
41 { | |
42 var agenda = AgendaFactory.GetAgenda(); | |
43 | |
75 | 44 var r = agenda.Proponer(model.Titulo, model.Ponente, model.UrlInvitacion); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
45 if (r.Succeful) |
27 | 46 return RedirectToAction("Index"); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
47 ModelState.AddModelError("error", r.ToString()); |
26 | 48 } |
49 return View(model); | |
50 } | |
51 | |
52 [Authorize] | |
53 public ActionResult Edit(string id) | |
54 { | |
55 var agenda = AgendaFactory.GetAgenda(); | |
56 var propuesta = agenda.GetEvento(new Guid(id)); | |
57 if (propuesta != null) | |
58 { | |
59 var model = new PropuestaEditModel | |
60 { | |
61 Id = id, | |
62 Titulo = propuesta.Titulo, | |
79
8df9db937434
Url de invitación en la UI: validación y persistencia
nelopauselli
parents:
75
diff
changeset
|
63 Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty, |
8df9db937434
Url de invitación en la UI: validación y persistencia
nelopauselli
parents:
75
diff
changeset
|
64 UrlInvitacion = propuesta.UrlInvitacion |
26 | 65 }; |
66 return View(model); | |
67 } | |
68 ModelState.AddModelError("error", "No se encontró el Propuesta que quiere modificar"); | |
69 return View(); | |
70 } | |
71 | |
72 [HttpPost] | |
73 [Authorize] | |
74 public ActionResult Edit(PropuestaEditModel model) | |
75 { | |
76 if (ModelState.IsValid) | |
77 { | |
78 var agenda = AgendaFactory.GetAgenda(); | |
79 | |
75 | 80 var r = agenda.ModificarPropuesta(new Guid(model.Id), model.Titulo, model.Ponente, model.UrlInvitacion); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
81 if (r.Succeful) |
27 | 82 return RedirectToAction("Index"); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
83 ModelState.AddModelError("error", r.ToString()); |
26 | 84 } |
85 return View(model); | |
86 } | |
87 } | |
88 } |