public ActionResult Details(int id) { BOM_Header bomHeader = _context.BOM_Headers.Find(id); List <BOM_Item> bomItems = _context.BOM_Items.Where(i => i.BOM_HeaderID == bomHeader.ID).ToList(); // Initialize viewModel object var viewModel = new BOMFormViewModel() { BOM_Header = bomHeader, BOM_Items = bomItems, Products = _context.Materials.Where(m => m.MaterialTypeID == MaterialType.FinishedProduct).ToList(), RawMaterials = _context.Materials.Where(m => m.MaterialTypeID == MaterialType.RawMaterial).ToList() }; return(View(viewModel)); }
public ActionResult Save(BOMFormViewModel viewModel) { // Server side validation if (!ModelState.IsValid) { // The form is not valid -> Return the same form to the user return(View("BOMForm", viewModel)); } // IF FORM IS VALID // Add new BOM if (viewModel.BOM_Header.ID == 0) { BOM_Header bomHeader = viewModel.BOM_Header; List <BOM_Item> bomItems = new List <BOM_Item>(); foreach (var item in viewModel.BOM_Items) { if (item.MaterialID == 0) { break; } else { bomItems.Add(item); } } bomHeader.BOM_Items = bomItems; _context.BOM_Headers.Add(bomHeader); } // Update existing device else { // Will implement } _context.SaveChanges(); return(RedirectToAction("Index", "BOM")); }