annotate Agendas/trunk/src/Agendas.Web/Controllers/PersonaController.cs @ 157:f17252543cbf

Agregando la url del blog a los datos de la persona
author Nelo@Guinea.neluz.int
date Thu, 04 Aug 2011 18:45:18 -0300
parents 23aaf98b8377
children 1deccd6c3cb2
rev   line source
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
1 using System;
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
2 using System.Linq;
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
3 using System.Web.Mvc;
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Factories;
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
5 using AltNetHispano.Agendas.Web.Models;
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
6
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
7 namespace AltNetHispano.Agendas.Web.Controllers
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
8 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
9 public class PersonaController : Controller
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
10 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
11 public ActionResult Index()
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
12 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
13 var personas = AgendaFactory.GetPersonaService();
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
14
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
15 var model = new PersonaIndexModel {Items = from p in personas.GetAll() select new PersonaDto{Id=p.Id, Nombre = p.Nombre}};
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
16
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
17 return View(model);
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
18 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
19
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
20 public ActionResult Nueva()
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
21 {
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
22 var model = new PersonaNewModel();
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
23 return View("Defaulteditor", model);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
24 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
25
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
26 [HttpPost]
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
27 public ActionResult Nueva(PersonaNewModel model)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
28 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
29 if (ModelState.IsValid)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
30 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
31 var personas = AgendaFactory.GetPersonaService();
157
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
32 var r = personas.Add(model.Nombre, model.Twitter, model.EMail,model.Blog);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
33 if (r.Succeful)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
34 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
35 this.AddNotification("Los datos fueron guardados");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
36 return RedirectToAction("Index");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
37 }
157
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
38 this.AddError(r.Message);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
39 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
40
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
41 return View("Defaulteditor", model);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
42 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
43
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
44 public ActionResult Modificar(string id)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
45 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
46 var personas = AgendaFactory.GetPersonaService();
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
47
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
48 var persona = personas.GetById(new Guid(id));
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
49 if (persona==null)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
50 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
51 this.AddError("No se encontró la persona que intenta modificar");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
52 return RedirectToAction("Index");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
53 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
54
157
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
55 var model = new PersonaEditModel
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
56 {
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
57 Id = persona.Id.ToString(),
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
58 Nombre = persona.Nombre,
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
59 Twitter = persona.Twitter,
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
60 EMail = persona.Mail,
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
61 Blog = persona.Blog
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
62 };
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
63
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
64 return View("Defaulteditor", model);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
65 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
66
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
67 [HttpPost]
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
68 public ActionResult Modificar(PersonaEditModel model)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
69 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
70 if (ModelState.IsValid)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
71 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
72 var personas = AgendaFactory.GetPersonaService();
157
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
73 var r = personas.Update(new Guid(model.Id), model.Nombre, model.Twitter, model.EMail, model.Blog);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
74 if (r.Succeful)
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
75 {
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
76 this.AddNotification("Los datos fueron guardados");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
77 return RedirectToAction("Index");
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
78 }
157
f17252543cbf Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents: 155
diff changeset
79 this.AddError(r.Message);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
80 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
81
155
23aaf98b8377 Generalizando editores en EditorDefault basando los textos en recursos
Nelo@Guinea.neluz.int
parents: 144
diff changeset
82 return View("Defaulteditor", model);
144
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
83 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
84 }
a2b14da4902f Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff changeset
85 }