Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Web/Controllers/PersonaController.cs @ 185:2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio.
En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado.
Las fechas ingresadas son creadas en sistema UTC
Queda pendiente Agregar duración a Google Calendar.
author | alabra |
---|---|
date | Tue, 09 Aug 2011 01:04:27 -0400 |
parents | 222362c29416 |
children | a36a76bd6ec3 |
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 PersonaController : Controller { public ActionResult Index() { var personas = AgendaFactory.GetPersonaService(); var model = new PersonaIndexModel {Items = from p in personas.GetAll() select new PersonaDto{Id=p.Id, Nombre = p.Nombre}}; return View(model); } [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Nueva() { var model = new PersonaNewModel(); return View("Defaulteditor", model); } [HttpPost] [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Nueva(PersonaNewModel model) { if (ModelState.IsValid) { var personas = AgendaFactory.GetPersonaService(); var r = personas.Add(model.Nombre, model.Twitter, model.EMail,model.Blog, model.Roles); if (r.Succeful) { this.AddNotification("Los datos fueron guardados"); return RedirectToAction("Index"); } this.AddError(r.Message); } return View("Defaulteditor", model); } [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Modificar(string id) { var personas = AgendaFactory.GetPersonaService(); var persona = personas.GetById(new Guid(id)); if (persona==null) { this.AddError("No se encontró la persona que intenta modificar"); return RedirectToAction("Index"); } var model = new PersonaEditModel { Id = persona.Id.ToString(), Nombre = persona.Nombre, Twitter = persona.Twitter, EMail = persona.Mail, Blog = persona.Blog, Roles = persona.Roles.ToArray() }; return View("Defaulteditor", model); } [HttpPost] [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Modificar(PersonaEditModel model) { if (ModelState.IsValid) { var personas = AgendaFactory.GetPersonaService(); var r = personas.Update(new Guid(model.Id), model.Nombre, model.Twitter, model.EMail, model.Blog, model.Roles); if (r.Succeful) { this.AddNotification("Los datos fueron guardados"); return RedirectToAction("Index"); } this.AddError(r.Message); } return View("Defaulteditor", model); } } }