public ActionResult NuevoMaterial(MaterialViewModel model) { if (ModelState.IsValid) { try { var categoriaMaterial = _categoriasDb.GetById(model.CategoriaId); var material = new Material { Codigo = model.Codigo, Descripcion_Material = model.Descripcion_Material, Costo_Unitario = model.Costo_Unitario, Unidad_Medida = model.Unidad_Medida, esMaterialDirecto = model.esMaterialDirecto, Categoria_Material = categoriaMaterial }; _materialesDb.Create(material); _uow.SaveChanges(); TempData["message"] = "El material se agregó correctamente"; return RedirectToAction("Materiales"); } catch (Exception e) { logger.Error(e, "Error al agregar material"); ModelState.AddModelError("", "Se produjo un error al intentar agregar este material"); return View(model); } } model.Categorias = _categoriasDb.FindAll() .Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.NombreCategoria }); return View(model); }
public ActionResult EditarMaterial(MaterialViewModel model) { if (ModelState.IsValid) { try { var material = _materialesDb.GetById(model.Id); var categoria = _categoriasDb.GetById(model.CategoriaId); material.Codigo = model.Codigo; material.Costo_Unitario = model.Costo_Unitario; material.Unidad_Medida = model.Unidad_Medida; material.Descripcion_Material = model.Descripcion_Material; material.Categoria_Material = categoria; material.esMaterialDirecto = model.esMaterialDirecto; _materialesDb.Update(material); _uow.SaveChanges(); TempData["message"] = "Registro modificado correctamente"; return RedirectToAction("Materiales"); } catch (Exception e) { logger.Error(e, "Se produjo un error al editar un material"); ModelState.AddModelError("", "Se produjo un error al intentar editar el material"); return View(model); } } model.Categorias = _categoriasDb.FindAll() .Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.NombreCategoria }); return View(model); }
// GET: NuevoMaterial public ActionResult NuevoMaterial() { var model = new MaterialViewModel { Categorias = _categoriasDb.FindAll() .Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.NombreCategoria }) }; return View(model); }
// GET: EditarMaterial public ActionResult EditarMaterial(int id) { var material = _materialesDb.GetById(id); if (material == null) { TempData["message_error"] = "No se pudo encontrar el registro especificado"; return RedirectToAction("Materiales"); } var model = new MaterialViewModel { Id = material.Id, CategoriaId = material.Categoria_Material.Id, Codigo = material.Codigo, Descripcion_Material = material.Descripcion_Material, Costo_Unitario = material.Costo_Unitario, Unidad_Medida = material.Unidad_Medida, esMaterialDirecto = material.esMaterialDirecto, Categorias = _categoriasDb.FindAll() .Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.NombreCategoria }) }; return View(model); }