Example #1
0
        public async Task <IActionResult> GetCartItem(int id)
        {
            try
            {
                var cartItems = await _cartItemService.GetCartItemAsync(id);

                if (cartItems == null)
                {
                    return(NotFound());
                }

                return(Ok(cartItems));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Example #2
0
        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
                }));
            }
        }
Example #3
0
 public async Task <ActionResult <CartItemmodel> > Get(int CartItemId)
 {
     return(Ok(await _CartItemService.GetCartItemAsync(CartItemId)));
 }