Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs @ 53:d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
excepciones solo para lo que no esperamos que suceda.
author | nelopauselli |
---|---|
date | Sat, 14 May 2011 12:45:50 -0300 |
parents | 475be11edf56 |
children | 3059a5f8930f |
rev | line source |
---|---|
26 | 1 using System; |
2 using System.Linq; | |
3 using System.Web.Mvc; | |
4 using AltNetHispano.Agendas.Domain.Exceptions; | |
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; |
26 | 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 |
26 | 9 { |
10 public class PropuestaController : Controller | |
11 { | |
12 public ActionResult Index() | |
13 { | |
14 var agenda = AgendaFactory.GetAgenda(); | |
15 | |
27 | 16 var model = new PropuestaIndexModel |
17 { | |
18 Propuestas = from e in agenda.GetEventosPropuestos() | |
19 select new PropuestaDto { Id = e.Id.ToString(), Titulo = e.Titulo, Ponente = e.Ponente.Nombre } | |
20 }; | |
21 | |
22 return View(model); | |
26 | 23 } |
24 | |
25 [Authorize] | |
26 public ActionResult New() | |
27 { | |
28 return View(); | |
29 } | |
30 | |
31 [HttpPost] | |
32 [Authorize] | |
33 public ActionResult New(PropuestaNewModel model) | |
34 { | |
35 if (ModelState.IsValid) | |
36 { | |
37 var agenda = AgendaFactory.GetAgenda(); | |
38 | |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
39 var r = agenda.Proponer(model.Titulo, model.Ponente); |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
40 if (r.Succeful) |
27 | 41 return RedirectToAction("Index"); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
42 ModelState.AddModelError("error", r.ToString()); |
26 | 43 } |
44 return View(model); | |
45 } | |
46 | |
47 [Authorize] | |
48 public ActionResult Edit(string id) | |
49 { | |
50 var agenda = AgendaFactory.GetAgenda(); | |
51 var propuesta = agenda.GetEvento(new Guid(id)); | |
52 if (propuesta != null) | |
53 { | |
54 var model = new PropuestaEditModel | |
55 { | |
56 Id = id, | |
57 Titulo = propuesta.Titulo, | |
58 Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty | |
59 }; | |
60 return View(model); | |
61 } | |
62 ModelState.AddModelError("error", "No se encontró el Propuesta que quiere modificar"); | |
63 return View(); | |
64 } | |
65 | |
66 [HttpPost] | |
67 [Authorize] | |
68 public ActionResult Edit(PropuestaEditModel model) | |
69 { | |
70 if (ModelState.IsValid) | |
71 { | |
72 var agenda = AgendaFactory.GetAgenda(); | |
73 | |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
74 var r = agenda.ModificarPropuesta(new Guid(model.Id), model.Titulo, model.Ponente); |
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
75 if (r.Succeful) |
27 | 76 return RedirectToAction("Index"); |
53
d149bfea3892
Tratamos las validaciones como resultados y no como excepciones, dejamos las
nelopauselli
parents:
34
diff
changeset
|
77 ModelState.AddModelError("error", r.ToString()); |
26 | 78 } |
79 return View(model); | |
80 } | |
81 } | |
82 } |