Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.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 |
line wrap: on
line source
using System; using System.Linq; using System.Web.Mvc; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Factories; using AltNetHispano.Agendas.Web.Models; namespace AltNetHispano.Agendas.Web.Controllers { public class PropuestaController : Controller { public ActionResult Index() { var agenda = AgendaFactory.GetAgenda(); var model = new PropuestaIndexModel { Propuestas = from e in agenda.GetEventosPropuestos() select new PropuestaDto { Id = e.Id.ToString(), Titulo = e.Titulo, Ponente = e.Ponente != null ? e.Ponente.Nombre : string.Empty } }; return View(model); } [Authorize] public ActionResult New() { return View(new PropuestaNewModel()); } [HttpPost] [Authorize] public ActionResult New(PropuestaNewModel model) { if (ModelState.IsValid) { var agenda = AgendaFactory.GetAgenda(); var r = agenda.Proponer(model.Titulo, model.Ponente, model.UrlInvitacion, (TipoEvento)model.Tipo); if (r.Succeful) return RedirectToAction("Index"); ModelState.AddModelError("error", r.ToString()); } return View(model); } [Authorize] public ActionResult Edit(string id) { var agenda = AgendaFactory.GetAgenda(); var propuesta = agenda.GetEvento(new Guid(id)); var model = new PropuestaEditModel { Id = id, Titulo = propuesta.Titulo, Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty, UrlInvitacion = propuesta.UrlInvitacion }; return View(model); } [HttpPost] [Authorize] public ActionResult Edit(PropuestaEditModel model) { if (ModelState.IsValid) { var agenda = AgendaFactory.GetAgenda(); var r = agenda.ModificarPropuesta(new Guid(model.Id), model.Titulo, model.Ponente, model.UrlInvitacion); if (r.Succeful) return RedirectToAction("Index"); ModelState.AddModelError("error", r.ToString()); } return View(model); } } }