public async Task<ActionResult> Nuevo([Bind(Include = "id,nombre,subSelect,color")] LineasForm lineas) { if (ModelState.IsValid) { Lineas nuevaL = new Lineas(); nuevaL.nombre = lineas.nombre; if (String.IsNullOrEmpty(lineas.color)) { lineas.color = "#d450b7"; } else { nuevaL.color = lineas.color; } db.Lineas.Add(nuevaL); await db.SaveChangesAsync(); List<Subestaciones_Linea> sub_li = new List<Subestaciones_Linea>(); foreach(var e in lineas.subSelect){ Subestaciones_Linea ne = new Subestaciones_Linea(); ne.id_linea = nuevaL.id; ne.id_subestacion = e; sub_li.Add(ne); } db.Subestaciones_Linea.AddRange(sub_li); await db.SaveChangesAsync(); Historial nuevo = new Historial("Creó", User.Identity.GetUserId(), "Lineas", lineas.id, lineas.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Línea creada correctamente."; return RedirectToAction("Index"); } TempData["Mensaje"] = "Error al crear la Línea."; return View(lineas); }
public async Task<ActionResult> Editar([Bind(Include = "id,nombre,subSelect,color")] LineasForm lineas) { bool comprobar = new Lineas().ComprobarLinea(lineas.id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "Prohibido el acceso a esta Línea con tus credenciales"; return RedirectToAction("Index", "Acceso"); //throw new HttpException(401, "No tiene permisos"); } if (ModelState.IsValid) { Lineas editarL = new Lineas(); editarL.id = lineas.id; editarL.color = lineas.color; editarL.nombre = lineas.nombre; db.Entry(editarL).State = EntityState.Modified; await db.SaveChangesAsync(); var listSub_Li = db.Subestaciones_Linea.Where(m => m.id_linea == editarL.id).ToList(); if (listSub_Li.Count > 0) { db.Subestaciones_Linea.RemoveRange(listSub_Li); await db.SaveChangesAsync(); } List<Subestaciones_Linea> sub_li = new List<Subestaciones_Linea>(); if (lineas.subSelect != null) { foreach (var e in lineas.subSelect) { Subestaciones_Linea ne = new Subestaciones_Linea(); ne.id_linea = editarL.id; ne.id_subestacion = e; sub_li.Add(ne); } } db.Subestaciones_Linea.AddRange(sub_li); await db.SaveChangesAsync(); Historial nuevo = new Historial("Editó", User.Identity.GetUserId(), "Lineas", lineas.id, lineas.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Línea editada correctamente."; return RedirectToAction("Editar", "Lineas", new {id=editarL.id }); } TempData["Mensaje"] = "Error al editar la Línea."; return RedirectToAction("Editar", "Lineas", new { id = lineas.id }); }