public ActionResult NuevoCosto(CostoViewModel model) { if (ModelState.IsValid) { try { var departamentoCosto = _departamentosDb.GetById(model.DepartamentoId); var costo = new Costo { Descripcion = model.Descripcion, Comentario = model.Comentario, esCostoDirecto = (bool)model.esCostoDirecto, Departamento = departamentoCosto }; _costosDb.Create(costo); _uow.SaveChanges(); TempData["message"] = "Registro agregado correctamente"; return RedirectToAction("Costos"); } catch (Exception e) { logger.Error(e, "Error al agregar un costo"); ModelState.AddModelError("", "Se produjo un error al intentar agregar este costo"); } } return View(model); }
public ActionResult EditarCosto(CostoViewModel model) { if (ModelState.IsValid) { try { var costo = _costosDb.GetById(model.Id); var departamentoCosto = _departamentosDb.GetById(model.DepartamentoId); costo.Descripcion = model.Descripcion; costo.Comentario = model.Comentario; costo.esCostoDirecto = (bool)model.esCostoDirecto; costo.Departamento = departamentoCosto; _costosDb.Update(costo); _uow.SaveChanges(); TempData["message"] = "Registro modificado correctamente"; return RedirectToAction("Costos"); } catch (Exception e) { logger.Error(e, "Error al editar un costo"); ModelState.AddModelError("", "Se produjo un error al intentar editar este costo"); } } return View(model); }
// GET: NuevoCosto public ActionResult NuevoCosto() { var model = new CostoViewModel() { Departamentos = _departamentosDb.FindAll() .Select(d => new SelectListItem { Value = d.Id.ToString(), Text = d.Nombre_Departamento }) }; return View(model); }
// GET: EditarCosto public ActionResult EditarCosto(int id) { var costo = _costosDb.GetById(id); if (costo == null) { TempData["message_error"] = "No se pudo encontrar el registro especificado"; return RedirectToAction("Costos"); } var model = new CostoViewModel { Id = costo.Id, Descripcion = costo.Descripcion, Comentario = costo.Comentario, esCostoDirecto = (bool)costo.esCostoDirecto, DepartamentoId = costo.Departamento.Id, Departamentos = _departamentosDb.FindAll() .Select(d => new SelectListItem { Value = d.Id.ToString(), Text = d.Nombre_Departamento }) }; return View(model); }