public IHttpActionResult AddProductToCart(AddProductToCartRequest request) { try { if (!ModelState.IsValid) { string errorMsg = string.Empty; errorMsg += string.Join(" ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); return(BadRequest(errorMsg)); } var product = _productModel.GetProduct(request.ProductId); if (product == null) { return(BadRequest(MessageResource.UnavailableProduct)); } var response = new CartTransactionResponse() { UserCart = _shoppingCartModel.AddProductInCart(request), AvailableProducts = _productModel.GetAllProducts().ToList() }; return(Ok(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public void MakeAddProductToCartLine(int storeID, string username, int productID, int amount) { AddProductToCartRequest req = new AddProductToCartRequest(username, storeID, productID, amount); string json = JsonConvert.SerializeObject(req); lines.Add(json); }
public byte[] MakeAddToCartRequest(string user, int store, int product, int amount) { AddProductToCartRequest req = new AddProductToCartRequest(user, store, product, amount); string jsonString = JsonConvert.SerializeObject(req); return(sec.Encrypt(jsonString)); }
internal byte[] HandleAddProductToCart(string json) { AddProductToCartRequest res = JsonConvert.DeserializeObject <AddProductToCartRequest>(json); Tuple <bool, string> ans = purchService.AddProductToShoppingCart(res.User, res.Store, res.Product, res.Amount); string jsonAns = Seralize(new SuccessFailResponse(ans.Item1, ans.Item2)); return(security.Encrypt(jsonAns)); }
public Cart AddProductInCart(AddProductToCartRequest request) { //Decrease the products inventory DecreaseProductQuantity(request.ProductId, request.ProductCount); var product = GetProduct(request.ProductId); product.Count = request.ProductCount; Directory.CreateDirectory(_cartsXmlPath); var userCartPath = $"{_cartsXmlPath + request.UserId}.xml"; Cart userCart; if (!File.Exists(userCartPath)) { //ShoppingCart for the userNameId is not yet existing, so create a new cart and add userNameId.xml in the CartsOfDifferentUsersPath userCart = new Cart { UserId = request.UserId, Products = new ProductsCollection() { Products = new List <Product>() { product } } }; } else { //ShoppingCart for the userNameId is already existing. userCart = GetUserCart(request.UserId); var productInCart = userCart.Products.Products.SingleOrDefault(x => x.Id == product.Id); //add the product to the ProductsList if the product is not yet existing in the cart. //If product already exists in the cart, sum their total count. if (productInCart == null) { userCart.Products.Products.Add(product); } else { productInCart.Count += product.Count; } } userCart.UpdateCartComputations(); UpdateUserCart(userCart); return(GetUserCart(request.UserId)); }
public async Task <IActionResult> Create([FromBody] AddProductToCartRequest model) { var requestedUserId = int.Parse(HttpContext.GetUserIdFromRequest()); var cartDetailEntity = _mapper.Map <CartDetail>(model); var result = await _cartDetailService.AddProductToCartAsync(cartDetailEntity); if (!result.IsSuccess) { return(BadRequest(new AddProductToCartFailedResponse { Errors = result.Errors })); } var cartDetailResponse = _mapper.Map <CartDetailResponse>(result.CartDetail); var locationUri = _uriService.GetByIdUri( ApiRoutes.Product.GetById.Replace("{cartDetailId}", cartDetailEntity.Id.ToString()) ); return(Created(locationUri, new Response <CartDetailResponse>(cartDetailResponse))); }
public UpdateProductToCartCommand(AddProductToCartRequest cartAddRequest) { _cartAddRequest = cartAddRequest; }
public async Task <IActionResult> AddToCart(AddProductToCartRequest cartAddRequest) { var result = await _mediator.Send(new UpdateProductToCartCommand(cartAddRequest)); return(Ok(result)); }