Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
274:72a96459f910 | 275:bf993f99cee3 |
---|---|
1 using System; | |
2 using System.Collections.Generic; | |
3 using System.IO; | |
4 using System.Linq; | |
5 using System.Web; | |
6 using System.Web.Mvc; | |
7 using AltNetHispano.Agendas.Domain; | |
8 using AltNetHispano.Agendas.Factories; | |
9 using AltNetHispano.Agendas.Web.Models; | |
10 using AltNetHispano.Agendas.Web.Services; | |
11 | |
12 | |
13 namespace AltNetHispano.Agendas.Web.Controllers | |
14 { | |
15 public class PatrocinadorController : Controller | |
16 { | |
17 private IHttpServer _server; | |
18 | |
19 public PatrocinadorController() | |
20 { | |
21 _server = (IHttpServer)ControllerContext.HttpContext.Server; | |
22 } | |
23 | |
24 public PatrocinadorController(IHttpServer server) | |
25 { | |
26 _server = server; | |
27 } | |
28 | |
29 public ActionResult GetLogo(string id) | |
30 { | |
31 var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); | |
32 | |
33 var patrocinador = patrocinadores.Get(new Guid(id)); | |
34 | |
35 return File(patrocinador.Logo, "image/jpg"); | |
36 } | |
37 | |
38 public ActionResult Index() | |
39 { | |
40 var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); | |
41 | |
42 var model = new PatrocinadorIndexModel | |
43 { | |
44 Items = from p in patrocinadores.GetAll() | |
45 select new PatrocinadorDto | |
46 { | |
47 Id = p.Id, | |
48 Nombre = p.Nombre | |
49 } | |
50 }; | |
51 | |
52 return View(model); | |
53 } | |
54 | |
55 [CustomAuthorize(Roles = Roles.Administrador)] | |
56 public ActionResult Nuevo() | |
57 { | |
58 var model = new PatrocinadorNewModel(); | |
59 return View("DefaultEditor", model); | |
60 } | |
61 | |
62 [HttpPost] | |
63 [CustomAuthorize(Roles = Roles.Administrador)] | |
64 public ActionResult Nuevo(PatrocinadorNewModel model) | |
65 { | |
66 if (ModelState.IsValid) | |
67 { | |
68 var tempLogoFile = Path.Combine(_server.MapPath("~/App_Data"), model.Nombre + model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf("."))); | |
69 model.Logo.SaveAs(tempLogoFile); | |
70 | |
71 var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); | |
72 | |
73 var patrocinador = new Patrocinador(model.Nombre); | |
74 patrocinador.LoadLogo(tempLogoFile); | |
75 | |
76 patrocinadores.Save(patrocinador); | |
77 | |
78 return RedirectToAction("Index"); | |
79 } | |
80 | |
81 return View("DefaultEditor", model); | |
82 } | |
83 | |
84 [CustomAuthorize(Roles = Roles.Administrador)] | |
85 public ActionResult Modificar(int id) | |
86 { | |
87 return View(); | |
88 } | |
89 | |
90 [HttpPost] | |
91 [CustomAuthorize(Roles = Roles.Administrador)] | |
92 public ActionResult Modificar(int id, FormCollection collection) | |
93 { | |
94 try | |
95 { | |
96 // TODO: Add update logic here | |
97 | |
98 return RedirectToAction("Index"); | |
99 } | |
100 catch | |
101 { | |
102 return View(); | |
103 } | |
104 } | |
105 | |
106 [CustomAuthorize(Roles = Roles.Administrador)] | |
107 public ActionResult Quitar(int id) | |
108 { | |
109 return View(); | |
110 } | |
111 | |
112 } | |
113 } |