public async Task <AddToCartResponse> AddToCartAsync(Guid productId, int quantity) { var res = new AddToCartResponse(); var product = _productDataService.Query.Include(x => x.RequiredProducts) .FirstOrDefault(x => x.Id == productId); if (product == null) { return new AddToCartResponse { Message = "محصول یافت نشد" } } ; res.Message = _shoppingCartHelper.GetAddToCartValidationErrors(_workContext.CurrentUser, product, quantity, _accessManager, _unitOfWork); if (string.IsNullOrEmpty(res.Message)) { await _shoppingCartHelper.AddToCartAsync(product, quantity, _workContext.CurrentUser, _unitOfWork); res.Success = true; res.Message = $"{product.Title} به سبد خرید اضافه شد "; } return(res); }
[HttpPost]//manager kur response kur jsondan cagır.. public ActionResult AddToCart(AddToCartRequest request) { CartManager manager = new CartManager(); string message = manager.Add(request.ProductID); AddToCartResponse response = new AddToCartResponse(); response.Message = message; return(Json(response)); }
public AddToCartResponse AddToCart(AddToCartRequest request) { var response = new AddToCartResponse { IsSuccessful = false, Message = "" }; try { var customer = _context.Customers .Where(x => x.Id == request.CarryOutToAddToCart.CustomerId) .FirstOrDefault(); Food food = null; List <CarryOut> existingFood = null; Beverage beverage = null; List <CarryOut> existingBeverages = null; int currentFoodQuantity = 0; int currentBeverageQuantity = 0; if (request.CarryOutToAddToCart.Food != null) { food = _context.Foods .Where(x => x.Id == request.CarryOutToAddToCart.Food.Id) .FirstOrDefault(); } if (request.CarryOutToAddToCart.Beverage != null) { beverage = _context.Beverages .Where(x => x.Id == request.CarryOutToAddToCart.Beverage.Id) .FirstOrDefault(); } if (customer != null) { if (food != null) { existingFood = _context.CarryOuts .Include(x => x.Food) .Include(x => x.Beverage) .Include(x => x.Customer) .Where(x => x.Customer.Id == customer.Id) .Where(x => x.Food.Name == food.Name) .Where(x => x.SubmissionTime == null) .ToList(); foreach (var item in existingFood) { currentFoodQuantity += item.FoodQuantity; } _context.RemoveRange(existingFood); } if (beverage != null) { existingBeverages = _context.CarryOuts .Include(x => x.Food) .Include(x => x.Beverage) .Include(x => x.Customer) .Where(x => x.Customer.Id == customer.Id) .Where(x => x.Beverage.Name == beverage.Name) .Where(x => x.SubmissionTime == null) .ToList(); foreach (var item in existingBeverages) { currentBeverageQuantity += item.BeverageQuantity; } _context.RemoveRange(existingBeverages); } var cartItem = new CarryOut { Beverage = beverage, BeverageQuantity = request.CarryOutToAddToCart.BeverageQuantity + currentBeverageQuantity, BundleId = 0, Customer = customer, Food = food, FoodQuantity = request.CarryOutToAddToCart.FoodQuantity + currentFoodQuantity, SubmissionTime = null, Id = 0 }; _context.Add(cartItem); _context.SaveChanges(); response.IsSuccessful = true; response.Message = "Successfully added carry out to cart for the customer."; } } catch (Exception ex) { response.Message = ex.ToString(); } return(response); }