コード例 #1
0
        public async Task <IActionResult> CustomizeProduct(SelectCustomizeProductViewModel selectCustomizeProductViewModel)
        {
            if (selectCustomizeProductViewModel.Ingredients.Any() && selectCustomizeProductViewModel.ProductItemId > 0)
            {
                double subTotal    = 0;
                var    productItem = await _productItemService.GetProductItemAsync(selectCustomizeProductViewModel.ProductItemId);

                foreach (var item in selectCustomizeProductViewModel.Ingredients)
                {
                    var ingredient = await _ingredientService.GetIngredientAsync(item.IngredientId);

                    subTotal += ingredient.Price * item.Quantity;
                }

                var total = productItem.Price + subTotal;

                var customizeProduct = new CustomizeProduct()
                {
                    Name          = "Customize " + productItem.Name,
                    ProductItemId = selectCustomizeProductViewModel.ProductItemId,
                    Price         = total
                };
                var customProduct = await _customizeProductService.AddCustomizeProductAsync(customizeProduct);

                foreach (var item in selectCustomizeProductViewModel.Ingredients)
                {
                    var customizeProductIngredient = new CustomizeProductIngredients()
                    {
                        CustomizeProductId = selectCustomizeProductViewModel.ProductItemId,
                        IngredientId       = item.IngredientId
                    };
                    await _customizeProductIngredientService.AddCustomizeProductIngredientAsync(customizeProductIngredient);
                }

                await _shoppingCartService.AddToCartAsync(null, null, customProduct, 1, Session.ShoppingCartId);

                return(Json(1));
            }
            return(Json(0));
        }
コード例 #2
0
 public async Task <CustomizeProductIngredients> AddCustomizeProductIngredientAsync(CustomizeProductIngredients customizeProductIngredients)
 {
     return(await _customizeProductIngredientRepository.AddAsync(customizeProductIngredients));
 }