// GET: Assembly/Create public IActionResult Create() { AssemblyRecipeVM = new AssemblyRecipeViewModel(); ViewData["ItemID"] = new SelectList(_context.Item, "ItemId", "ItemName"); AssemblyRecipeVM.allItems = new List <Item>(); List <Item> tempItemList = new List <Item>(); tempItemList = _context.Item.ToList(); foreach (Item item in tempItemList) { if (item.IsAssemblyItem == false) { AssemblyRecipeVM.allItems.Add(item); } } ViewData["AssemblyRecipeId"] = new SelectList(_context.AssemblyRecipe, "AssemblyRecipeId", "RecipeName"); AssemblyRecipeVM.assemblyRecipe = new List <AssemblyRecipe>(); List <AssemblyRecipe> tempRecipeList = new List <AssemblyRecipe>(); tempRecipeList = _context.AssemblyRecipe.ToList(); foreach (AssemblyRecipe recipe in tempRecipeList) { AssemblyRecipeVM.assemblyRecipe.Add(recipe); } return(View(AssemblyRecipeVM)); }
public async Task <IActionResult> Create(AssemblyRecipeViewModel newVM) { //[Bind("AssemblyRecipeId,RecipeName,ItemID")] AssemblyRecipe assemblyRecipe if (ModelState.IsValid) { //Create new AssemblyRecipe object var newItem = new AssemblyRecipe(); newItem.ItemID = newVM.itemID; var newRecipe = new AssemblyRecipe(); newRecipe.RecipeName = newVM.RecipeName; //Retrieve the item that it is based on var itemID = await _context.Item.FirstOrDefaultAsync(i => i.ItemId == newVM.itemID); var recipeName = await _context.AssemblyRecipe.FirstOrDefaultAsync(i => i.RecipeName == newVM.RecipeName); //Make the item an assembly item itemID.IsAssemblyItem = true; newItem.RecipeName = itemID.ItemName; newItem.RecipeLines = newVM.recipeLines; //newRecipe.AssemblyRecipeId = newVM.AssemblyRecipeID; newRecipe.RecipeName = newVM.RecipeName; newRecipe.ItemID = newVM.itemID; //newRecipe.AssemblyRecipeId = recipeName.AssemblyRecipeId; //newRecipe.RecipeName = recipeName.RecipeName; //_context.Add(newItem); _context.Add(newRecipe); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } //return View(newVM.AssemblyRecipe); return(View(newVM)); }