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)); }
public async Task <CustomizeProductIngredients> AddCustomizeProductIngredientAsync(CustomizeProductIngredients customizeProductIngredients) { return(await _customizeProductIngredientRepository.AddAsync(customizeProductIngredients)); }