public ActionResult Edit(NewNominaViewModel viewModel) { if (ModelState.IsValid) { var nomina = viewModel.Nomina; // Get each record in the DB var nominaInDb = db.Nomina.Single(n => n.Codigo_Nomina == nomina.Codigo_Nomina); var afpInDb = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Afp.Codigo_Retencion); var sfsInDb = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Sfs.Codigo_Retencion); var isrInDb = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Isr.Codigo_Retencion); var seguroMedInDb = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.SeguroMedico.Codigo_Retencion); // Modify records in DB accordingly nominaInDb.Sueldo = nomina.Sueldo; nominaInDb.Bonificaciones = viewModel.Nomina.Bonificaciones; nominaInDb.Horas_Extras = viewModel.Nomina.Horas_Extras; afpInDb.Cantidad = viewModel.Afp.Cantidad; sfsInDb.Cantidad = viewModel.Sfs.Cantidad; isrInDb.Cantidad = viewModel.Isr.Cantidad; seguroMedInDb.Cantidad = viewModel.SeguroMedico.Cantidad; // Save changes db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Create() { // Initialize a ViewModel var viewModel = new NewNominaViewModel { Nomina = new Nomina(), Afp = new Retencion(), Sfs = new Retencion(), Isr = new Retencion(), SeguroMedico = new Retencion() }; // Init Nomina's Fecha to current Month and Year, with Day set to the 31st viewModel.Nomina.Fecha = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 28); // Make a list of empleados to populate a Dropdown List in the View var empleados = db.Empleado.AsEnumerable().Select(e => new { e.Codigo_Empleado, Empleado = $"{e.Codigo_Empleado}: {e.Nombre} {e.Apellido}" }).ToList(); // Set the list of empleados in a ViewBag (subject to change to a model prop) ViewBag.Codigo_Empleado = new SelectList(empleados, "Codigo_Empleado", "Empleado"); return(View(viewModel)); }
public ActionResult Create(NewNominaViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } try { // Initialize Nomina with posted values // Set each Retencion's Nombre accordingly var nomina = new Nomina(viewModel.Nomina.Sueldo, viewModel.Nomina.Bonificaciones, viewModel.Nomina.Horas_Extras, viewModel.Nomina.Codigo_Empleado, viewModel.Nomina.Fecha) { Retencion = new List <Retencion> { new Retencion { Cantidad = viewModel.Afp.Cantidad, Nombre = "AFP" }, new Retencion { Cantidad = viewModel.Sfs.Cantidad, Nombre = "SFS" }, new Retencion { Cantidad = viewModel.Isr.Cantidad, Nombre = "ISR" }, new Retencion { Cantidad = viewModel.SeguroMedico.Cantidad, Nombre = "Seguro Medico" }, } }; db.Nomina.Add(nomina); db.SaveChanges(); } catch (DataException) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } return(RedirectToAction("Index")); //ViewBag.Codigo_Empleado = new SelectList(db.Empleado, "Codigo_Empleado", "Nombre", nomina.Codigo_Empleado); //return View(viewModel); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Nomina nomina = db.Nomina.Find(id); if (nomina == null) { return(HttpNotFound()); } // Initialize a ViewModel with the Nomina from DB var viewModel = new NewNominaViewModel { Nomina = nomina }; // Set ViewModels Retenciones based on the values from DB (nombre) foreach (var retencion in nomina.Retencion) { if (retencion.Nombre == "AFP") { viewModel.Afp = retencion; } else if (retencion.Nombre == "SFS") { viewModel.Sfs = retencion; } else if (retencion.Nombre == "ISR") { viewModel.Isr = retencion; } else if (retencion.Nombre == "Seguro Medico") { viewModel.SeguroMedico = retencion; } } return(View(viewModel)); }