public IResult AddByProductId(int productId) { var product = _productService.GetById(productId); if (product == null) { return(new ErrorResult(Messages.ProductNotFound)); } var basketProduct = _cartDal.Get(x => x.Product.Id == productId); if (basketProduct == null) { _cartDal.Add(new Cart { Id = productId, Quantity = 1 }); } else { if (!((basketProduct.Quantity + 1) > product.UnitsInStock)) { basketProduct.Quantity += 1; _cartDal.Update(basketProduct); } else { return(new ErrorResult(Messages.CartProductNotAddedMore)); } } return(new SuccessResult(Messages.CartProductAdded)); }
public void Add(CartItem entity) { var cart = accessDal.Get(); if (cart == null) { cart = new Cart(); } cart.Items.Add(entity); }
public Cart GetByCartId(string userId) { if (string.IsNullOrEmpty(userId)) { throw new ArgumentNullException(nameof(userId)); } return(_cartDal.Get(x => x.UserId == userId)); }
public async Task <IResult> Handle(UpdateProductInCartCommand request, CancellationToken cancellationToken) { var result = await _cartDal.Get(p => p.Id == request._cart.Id); if (result == null) { return(new ErrorResult(Messages.ItemsNotInTheCart)); } await _cartDal.Update(request._cart); return(new SuccessResult(Messages.CarUpdateSuccessful)); }
public async Task <IResult> Handle(UpdateProductToCartCommand request, CancellationToken cancellationToken) { var result = await _cartDal.Get(p => p.UserId == request._cartAddRequest.UserId && p.ProductId == request._cartAddRequest.ProductId); if (result == null) { await _cartDal.Add(_mapper.Map <Cart>(request._cartAddRequest)); } else { result.Quantity += 1; await _cartDal.Update(result); } return(new SuccessResult(Messages.AddToCartSuccessful)); }
public ShippingDetail GetAdress(string userId) { return(_cartDal.Get(c => c.UserId == userId)); }
public Cart Get(int id) { return(_cartDal.Get(x => x.Id == id)); }
public Cart GetCart(int id) { return(_cartDal.Get(c => c.CartId == id)); }
public IDataResult <Cart> Get(int id) { var result = _cartDal.Get(p => p.Id == id); return(new SuccessDataResult <Cart>(result)); }