comparison Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorController.cs @ 279:1e889a2e45c5

#125: ABM de patrocinadores.
author juanjose.montesdeocaarbos
date Thu, 22 Dec 2011 10:04:08 -0300
parents 6f5ab71614d4
children 8c742d5ccf67
comparison
equal deleted inserted replaced
278:6f5ab71614d4 279:1e889a2e45c5
76 [CustomAuthorize(Roles = Roles.Administrador)] 76 [CustomAuthorize(Roles = Roles.Administrador)]
77 public ActionResult Nuevo(PatrocinadorNewModel model) 77 public ActionResult Nuevo(PatrocinadorNewModel model)
78 { 78 {
79 if (ModelState.IsValid) 79 if (ModelState.IsValid)
80 { 80 {
81 var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
82 model.Nombre +
83 model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
84 model.Logo.SaveAs(tempLogoFile);
85
86 var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); 81 var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
87 82
88 if (patrocinadores.GetByNombre(model.Nombre) == null) 83 if (patrocinadores.GetByNombre(model.Nombre) == null)
89 { 84 {
85 var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
86 model.Nombre +
87 model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
88 model.Logo.SaveAs(tempLogoFile);
90 var patrocinador = new Patrocinador(model.Nombre); 89 var patrocinador = new Patrocinador(model.Nombre);
91 patrocinador.LoadLogo(tempLogoFile); 90 patrocinador.LoadLogo(tempLogoFile);
92 91
93 patrocinadores.Save(patrocinador); 92 patrocinadores.Save(patrocinador);
94 93
109 if (patrocinador == null) 108 if (patrocinador == null)
110 { 109 {
111 this.AddError("No se encontrĂ³ el patrocinador que intenta modificar"); 110 this.AddError("No se encontrĂ³ el patrocinador que intenta modificar");
112 return RedirectToAction("Index"); 111 return RedirectToAction("Index");
113 } 112 }
114 var model = new PatrocinadorNewModel(); 113 var model = new PatrocinadorEditModel
114 {
115 Id = new Guid(id).ToString(),
116 Nombre = patrocinador.Nombre
117 };
115 return View("DefaultEditor", model); 118 return View("DefaultEditor", model);
116 } 119 }
117 120
118 [HttpPost] 121 [HttpPost]
119 [CustomAuthorize(Roles = Roles.Administrador)] 122 [CustomAuthorize(Roles = Roles.Administrador)]
120 public ActionResult Modificar(PatrocinadorEditModel model) 123 public ActionResult Modificar(PatrocinadorEditModel model)
121 { 124 {
122 if (ModelState.IsValid) 125 if (ModelState.IsValid)
123 { 126 {
124 var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
125 model.Nombre +
126 model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
127 model.Logo.SaveAs(tempLogoFile);
128
129 var patrocinadores = AgendaFactory.GetPatrocinadorRepository(); 127 var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
130 128 var patrocinador = patrocinadores.GetById(model.Id);
131 if (patrocinadores.GetByNombre(model.Nombre) != null) 129 if (patrocinador != null)
132 { 130 {
133 var patrocinador = new Patrocinador(model.Nombre); 131 var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
132 model.Nombre +
133 model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
134 model.Logo.SaveAs(tempLogoFile);
135 patrocinador.Nombre = model.Nombre;
134 patrocinador.LoadLogo(tempLogoFile); 136 patrocinador.LoadLogo(tempLogoFile);
135 137
136 patrocinadores.Save(patrocinador); 138 patrocinadores.Save(patrocinador);
137 139
138 return RedirectToAction("Index"); 140 return RedirectToAction("Index");
141 } 143 }
142 return View("DefaultEditor", model); 144 return View("DefaultEditor", model);
143 } 145 }
144 146
145 [CustomAuthorize(Roles = Roles.Administrador)] 147 [CustomAuthorize(Roles = Roles.Administrador)]
146 public ActionResult Quitar(int id) 148 public ActionResult Eliminar(string id)
147 { 149 {
148 return View(); 150 if (!string.IsNullOrWhiteSpace(id))
149 } 151 {
152 var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
153 var patrocinador = patrocinadores.GetById(id);
154
155 patrocinadores.Delete(patrocinador);
156 }
157 return RedirectToAction("Index");
158 }
150 159
151 } 160 }
152 } 161 }