public async Task <IActionResult> Delete([FromRoute] Int64 cartItemId) { var deleted = await _cartItemService.DeleteCartItemAsync(cartItemId); if (deleted) { return(Ok(new SuccessResponse { message = "Successfully Deleted", status = Ok().StatusCode })); } return(NotFound(new ErrorResponse { message = "Not Found", status = NotFound().StatusCode })); }
public async Task <IActionResult> Create([FromBody] CreateOrderRequest orderRequest) { try { var order = new Order { UserId = orderRequest.UserId, DeliveryMethod = orderRequest.DeliveryMethod, PaymentMethod = orderRequest.PaymentMethod, CouponId = orderRequest.CouponId, UserAddressesId = orderRequest.UserAddressesId, Status = 1, CreatedAt = DateTime.Now }; var AddOrder = await _orderService.CreateOrderAsync(order); if (AddOrder == 1) { var cartItem = await _cartItemService.GetCartItemAsync(orderRequest.CartId); foreach (var item in cartItem) { var orderItem = new OrderItems { OrderId = order.Id, ProductId = item.ProductId, Quantity = item.Quantity, Price = (item.product.SalePrice != 0 ? item.product.SalePrice : item.product.Price), Total = (item.product.SalePrice != 0 ? item.product.SalePrice : item.product.Price) * item.Quantity, CreatedAt = DateTime.Now }; var addOrderItem = await _orderItemService.CreateOrderItemAsync(orderItem); if (addOrderItem == 1) { await _cartItemService.DeleteCartItemAsync(item.Id); } ProductQuantityMinus(item.ProductId, item.Quantity); } if (orderRequest.CouponId != null) { if (orderRequest.CouponId != 0) { PromoCodeQuantityMinusOne(Convert.ToInt32(orderRequest.CouponId)); } } var resp = new { status = Ok().StatusCode, message = "Successfully add order" }; return(Ok(resp)); } return(BadRequest(new { status = BadRequest().StatusCode, message = "internal server error" })); } catch (Exception ex) { return(BadRequest(new { status = BadRequest().StatusCode, message = ex.Message })); } }