public async Task <IActionResult> CreateNewCartAsync( [FromBody] CartContentsRequestDto cartContents ) { var cart = await _cartRepository.CreateShoppingCartAsync(cartContents); var result = _mapper.Map <CartResponseDto>(cart); return(CreatedAtRoute("GetCartByIdAsync", new { cartId = cart.Id }, result)); }
public async Task <Cart> CreateShoppingCartAsync(CartContentsRequestDto cartContentsRequest) { var cart = new Cart(); if (cartContentsRequest.Products.Any()) { cart.Products = _mapper.Map <List <CartItem> >(cartContentsRequest.Products).ToList(); } _dbContext.Add(cart); await _dbContext.SaveChangesAsync(); return(await EnrichCart(cart)); }
public async Task <IActionResult> UpdateCartAsync( Guid cartId, [FromBody] CartContentsRequestDto cartContents) { var cart = await _cartRepository.UpdateShoppingCartAsync(cartId, cartContents); if (cart == null) { return(NotFound()); } var result = _mapper.Map <CartResponseDto>(cart); return(Ok(result)); }
public async Task <Cart> UpdateShoppingCartAsync(Guid cartId, CartContentsRequestDto cartContentsRequest) { var cart = await FindByIdAsync(cartId); if (cart == null) { return(null); } cart.Products = _mapper.Map <List <CartItem> >(cartContentsRequest.Products).ToList(); cart.UpdatedAt = DateTimeOffset.UtcNow; _dbContext.Update(cart); await _dbContext.SaveChangesAsync(); return(await EnrichCart(cart)); //return cart; }