public ActionResult AddCentroDeTrabajo(CentroDeTrabajoViewModel model) { using (SaludOcupacionalEntities db = new SaludOcupacionalEntities()) { 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"); } 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)); } CentroDeTrabajo oCentroDeTrabajo = new CentroDeTrabajo(); oCentroDeTrabajo.nombreCentroDeTrabajo = model.nombre; oCentroDeTrabajo.idRegion = idRegion; db.CentroDeTrabajo.Add(oCentroDeTrabajo); db.SaveChanges(); TempData["Success"] = "Centro de Trabajo creado correctamente"; } return(View(model)); }
/* Función de controlador tipo GET que abre la vista de "Agregar centros de trabajo", * permite crear un nuevo centro de trabajo, y guardarlo en el sistema. */ public ActionResult AddCentroDeTrabajo() { CentroDeTrabajoViewModel model = new CentroDeTrabajoViewModel(); using (SaludOcupacionalEntities db = new SaludOcupacionalEntities()) { 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"); } return(View(model)); }