public ActionResult EditCentroDeTrabajo(CentroDeTrabajoEditViewModel model) { using (SaludOcupacionalEntities db = new SaludOcupacionalEntities()) { var oCentroDeTrabajo = db.CentroDeTrabajo.Find(model.idCentroDeTrabajo); List <SelectListItem> regiones = (from d in db.Region orderby d.numeroRegion select new SelectListItem { Value = d.idRegion.ToString(), Text = d.nombreRegion, }).ToList(); model.listaDeRegiones = new SelectList(regiones, "Value", "Text", oCentroDeTrabajo.idRegion); } if (!ModelState.IsValid) { return(View(model)); } using (var db = new SaludOcupacionalEntities()) { int idRegion = int.Parse(model.idRegion); var nombreExistente = db.CentroDeTrabajo.Any(x => (x.nombreCentroDeTrabajo == model.nombre) && (x.idRegion == idRegion)); if (nombreExistente) { ModelState.AddModelError("nombre", "Este Centro de Trabajo ya está registrado en esta región"); return(View(model)); } var oCentroDeTrabajo = db.CentroDeTrabajo.Find(model.idCentroDeTrabajo); oCentroDeTrabajo.nombreCentroDeTrabajo = model.nombre; oCentroDeTrabajo.idRegion = idRegion; db.Entry(oCentroDeTrabajo).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); TempData["Success"] = "Centro de Trabajo modificado correctamente"; } return(View(model)); }
/* Función de controlador tipo GET que abre la vista "Editar Centro de Trabajo, * permite editar tanto el nombre como la región del centro seleccionado. * Parámetros: Id del centro de trabajo*/ public ActionResult EditCentroDeTrabajo(int id) { CentroDeTrabajoEditViewModel model = new CentroDeTrabajoEditViewModel(); using (var db = new SaludOcupacionalEntities()) { var oCentroDeTrabajo = db.CentroDeTrabajo.Find(id); model.idCentroDeTrabajo = id; model.nombre = oCentroDeTrabajo.nombreCentroDeTrabajo; List <SelectListItem> regiones = (from d in db.Region orderby d.numeroRegion select new SelectListItem { Value = d.idRegion.ToString(), Text = d.nombreRegion, }).ToList(); model.listaDeRegiones = new SelectList(regiones, "Value", "Text", oCentroDeTrabajo.idRegion); } return(View(model)); }