diff 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
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorController.cs	Wed Dec 21 08:47:05 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PatrocinadorController.cs	Thu Dec 22 10:04:08 2011 -0300
@@ -78,15 +78,14 @@
 		{
 			if (ModelState.IsValid)
 			{
-				var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
-												model.Nombre +
-												model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
-				model.Logo.SaveAs(tempLogoFile);
-
 				var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
 
 				if (patrocinadores.GetByNombre(model.Nombre) == null)
 				{
+					var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
+													model.Nombre +
+													model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
+					model.Logo.SaveAs(tempLogoFile);
 					var patrocinador = new Patrocinador(model.Nombre);
 					patrocinador.LoadLogo(tempLogoFile);
 
@@ -111,7 +110,11 @@
 				this.AddError("No se encontrĂ³ el patrocinador que intenta modificar");
 				return RedirectToAction("Index");
 			}
-			var model = new PatrocinadorNewModel();
+			var model = new PatrocinadorEditModel
+			            	{
+								Id = new Guid(id).ToString(),
+								Nombre = patrocinador.Nombre
+			            	};
 			return View("DefaultEditor", model);
 		}
 
@@ -121,16 +124,15 @@
 		{
 			if (ModelState.IsValid)
 			{
-				var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
-												model.Nombre +
-												model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
-				model.Logo.SaveAs(tempLogoFile);
-
 				var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
-
-				if (patrocinadores.GetByNombre(model.Nombre) != null)
+				var patrocinador = patrocinadores.GetById(model.Id);
+				if (patrocinador != null)
 				{
-					var patrocinador = new Patrocinador(model.Nombre);
+					var tempLogoFile = Path.Combine(HttpServer.MapPath("~/App_Data"),
+													model.Nombre +
+													model.Logo.FileName.Substring(model.Logo.FileName.LastIndexOf(".")));
+					model.Logo.SaveAs(tempLogoFile);
+					patrocinador.Nombre = model.Nombre;
 					patrocinador.LoadLogo(tempLogoFile);
 
 					patrocinadores.Save(patrocinador);
@@ -143,10 +145,17 @@
 		}
 
 		[CustomAuthorize(Roles = Roles.Administrador)]
-		public ActionResult Quitar(int id)
+		public ActionResult Eliminar(string id)
         {
-            return View();
-        }
+			if (!string.IsNullOrWhiteSpace(id))
+			{
+				var patrocinadores = AgendaFactory.GetPatrocinadorRepository();
+				var patrocinador = patrocinadores.GetById(id);
+
+				patrocinadores.Delete(patrocinador);
+			}
+			return RedirectToAction("Index");
+		}
 
     }
 }