Exemple #1
0
 public ViewResult Configurator2(Configurator2ViewModel details)
 {
     if (ModelState.IsValid)
     {
         return(View(details));
     }
     return(View("Configurator"));
 }
Exemple #2
0
        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"));
        }