Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorController.cs @ 275:bf993f99cee3
Ticket #123: Patrocinadores de las vans.
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 14 Dec 2011 08:15:44 -0300 |
parents | |
children | 6f5ab71614d4 |
line wrap: on
line source
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Factories; using AltNetHispano.Agendas.Web.Models; using AltNetHispano.Agendas.Web.Services; namespace AltNetHispano.Agendas.Web.Controllers { public class PatrocinadorController : Controller { private IHttpServer _server; public PatrocinadorController() { _server = (IHttpServer)ControllerContext.HttpContext.Server; } public PatrocinadorController(IHttpServer server) { _server = server; } public ActionResult GetLogo(string id) { var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); var patrocinador = patrocinadores.Get(new Guid(id)); return File(patrocinador.Logo, "image/jpg"); } public ActionResult Index() { var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); var model = new PatrocinadorIndexModel { Items = from p in patrocinadores.GetAll() select new PatrocinadorDto { Id = p.Id, Nombre = p.Nombre } }; return View(model); } [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Nuevo() { var model = new PatrocinadorNewModel(); return View("DefaultEditor", model); } [HttpPost] [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Nuevo(PatrocinadorNewModel model) { if (ModelState.IsValid) { var tempLogoFile = Path.Combine(_server.MapPath("~/App_Data"), model.Nombre + model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf("."))); model.Logo.SaveAs(tempLogoFile); var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); var patrocinador = new Patrocinador(model.Nombre); patrocinador.LoadLogo(tempLogoFile); patrocinadores.Save(patrocinador); return RedirectToAction("Index"); } return View("DefaultEditor", model); } [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Modificar(int id) { return View(); } [HttpPost] [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Modificar(int id, FormCollection collection) { try { // TODO: Add update logic here return RedirectToAction("Index"); } catch { return View(); } } [CustomAuthorize(Roles = Roles.Administrador)] public ActionResult Quitar(int id) { return View(); } } }