public ViewResult Configurator2(Configurator2ViewModel details) { if (ModelState.IsValid) { return(View(details)); } return(View("Configurator")); }
public async Task <IActionResult> AddToCart(Configurator2ViewModel details) { if (ModelState.IsValid) { var fridge = new Fridge { BodySymbol = details.SelectedBody, CompressorSymbol = details.SelectedCompressor, BodySymbolNavigation = orderRepo.GetBody(details.SelectedBody), CompressorSymbolNavigation = orderRepo.GetCompressor(details.SelectedCompressor) }; if (details.SelectedHandle != null && details.SelectedHandle != string.Empty) { fridge.HandleSet.Add( new HandleSet { HandleSymbol = details.SelectedHandle, Quantity = 1 }); } if (details.SelectedHandle2 != null && details.SelectedHandle2 != string.Empty) { if (details.SelectedHandle2 == details.SelectedHandle) { fridge.HandleSet.FirstOrDefault().Quantity += 1; } else { fridge.HandleSet.Add( new HandleSet { HandleSymbol = details.SelectedHandle2, Quantity = 1 }); } } foreach (var item in details.Additionals) { if (item.Value) { fridge.AdditionalSet.Add( new AdditionalSet { AdditionalEqSymbol = item.Key }); } } if (details.NumberOfShelves != null && details.NumberOfShelves.Count > 0) { foreach (var item in details.NumberOfShelves) { fridge.ShelfSet.Add( new ShelfSet { ShelfSymbol = item.Key, Quantity = (byte)item.Value }); } } if (details.NumberOfBalconies != null && details.NumberOfBalconies.Count > 0) { foreach (var item in details.NumberOfBalconies) { fridge.BalconySet.Add( new BalconySet { BalconySymbol = item.Key, Quantity = (byte)item.Value }); } } await orderRepo.CreateFridge(fridge); if (fridge != null) { decimal price = orderRepo.CalculateValue(fridge); cart.AddItem(fridge, 1, price); } return(Redirect("/cart/checkout")); } return(Redirect("/home/configurator")); }