comparison Agendas/trunk/src/Agendas.Web/Controllers/EventoController.cs @ 106:80c22175c9b5

agregado de tipo de evento (van, cafe, grupoestudio) agregado de tipo de evento en el alta de evento y en el alta de propuestas desde la app web algunas correcciones en el publicador del blog agregado de textos para publicar en el blog eventos de tipo alt.net cafe
author jorge.rowies
date Mon, 06 Jun 2011 14:07:12 -0300
parents 2434c2323f3d
children 53bcd338542b
comparison
equal deleted inserted replaced
105:1d820f17fc75 106:80c22175c9b5
1 using System; 1 using System;
2 using System.Linq; 2 using System.Linq;
3 using System.Web.Mvc; 3 using System.Web.Mvc;
4 using AltNetHispano.Agendas.Domain;
4 using AltNetHispano.Agendas.Factories; 5 using AltNetHispano.Agendas.Factories;
5 using AltNetHispano.Agendas.Web.Models; 6 using AltNetHispano.Agendas.Web.Models;
6 7
7 namespace AltNetHispano.Agendas.Web.Controllers 8 namespace AltNetHispano.Agendas.Web.Controllers
8 { 9 {
9 public class EventoController : Controller 10 public class EventoController : Controller
11 {
12 public ActionResult Index()
10 { 13 {
11 public ActionResult Index() 14 var agenda = AgendaFactory.GetAgenda();
12 {
13 var agenda = AgendaFactory.GetAgenda();
14 15
15 var model = new EventoIndexModel 16 var model = new EventoIndexModel
16 { 17 {
17 ProximosEventos = from e in agenda.GetEventosAgendados() orderby e.Fecha 18 ProximosEventos = from e in agenda.GetEventosAgendados()
18 select new EventoDto { Id = e.Id.ToString(), Titulo = e.Titulo, Fecha = e.Fecha.Value } 19 orderby e.Fecha
19 }; 20 select new EventoDto { Id = e.Id.ToString(), Titulo = e.Titulo, Fecha = e.Fecha.Value }
20 21 };
21 return View(model);
22 }
23 22
24 [Authorize] 23 return View(model);
25 public ActionResult New() 24 }
26 {
27 return View();
28 }
29 25
30 [HttpPost] 26 [Authorize]
31 [Authorize] 27 public ActionResult New()
32 public ActionResult New(EventoNewModel model) 28 {
33 { 29 return View(new EventoNewModel());
34 if (ModelState.IsValid) 30 }
35 {
36 var agenda = AgendaFactory.GetAgenda();
37 31
38 var r = agenda.Agendar(model.Titulo, model.Ponente, model.Fecha, 32 [HttpPost]
39 model.UrlInvitacion); 33 [Authorize]
40 if (r.Succeful) 34 public ActionResult New(EventoNewModel model)
41 return RedirectToAction("Index"); 35 {
42 ModelState.AddModelError("error", r.ToString()); 36 if (ModelState.IsValid)
43 } 37 {
44 return View(model); 38 var agenda = AgendaFactory.GetAgenda();
45 }
46 39
47 [Authorize] 40 var r = agenda.Agendar(model.Titulo, model.Ponente, model.Fecha,
48 public ActionResult Edit(string id) 41 model.UrlInvitacion, (TipoEvento)model.Tipo);
49 { 42 if (r.Succeful)
50 var agenda = AgendaFactory.GetAgenda(); 43 return RedirectToAction("Index");
51 var evento = agenda.GetEvento(new Guid(id)); 44 ModelState.AddModelError("error", r.ToString());
52 45 }
53 var model = new EventoEditModel 46 return View(model);
54 { 47 }
55 Id = id, 48
56 Titulo = evento.Titulo, 49 [Authorize]
57 Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty, 50 public ActionResult Edit(string id)
58 Fecha = evento.Fecha, 51 {
52 var agenda = AgendaFactory.GetAgenda();
53 var evento = agenda.GetEvento(new Guid(id));
54
55 var model = new EventoEditModel
56 {
57 Id = id,
58 Titulo = evento.Titulo,
59 Ponente = evento.Ponente != null ? evento.Ponente.Nombre : string.Empty,
60 Fecha = evento.Fecha,
59 UrlInvitacion = evento.UrlInvitacion 61 UrlInvitacion = evento.UrlInvitacion
60 }; 62 };
61 return View(model); 63 return View(model);
62 } 64 }
63 65
64 [HttpPost] 66 [HttpPost]
65 [Authorize] 67 [Authorize]
66 public ActionResult Edit(EventoEditModel model) 68 public ActionResult Edit(EventoEditModel model)
67 { 69 {
68 if (ModelState.IsValid) 70 if (ModelState.IsValid)
69 { 71 {
70 var agenda = AgendaFactory.GetAgenda(); 72 var agenda = AgendaFactory.GetAgenda();
71 73
72 var r =agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha.Value , model.UrlInvitacion); 74 var r = agenda.ModificarEvento(new Guid(model.Id), model.Titulo, model.Ponente, model.Fecha.Value, model.UrlInvitacion);
73 if (r.Succeful) 75 if (r.Succeful)
74 return RedirectToAction("Index"); 76 return RedirectToAction("Index");
75 ModelState.AddModelError("error", r.ToString()); 77 ModelState.AddModelError("error", r.ToString());
76 } 78 }
77 return View(model); 79 return View(model);
78 }
79 } 80 }
81 }
80 } 82 }