Beispiel #1
0
        public async Task <ApiResult <bool> > ConfirmStatus(int orderId)
        {
            var order = await _context.Orders.FindAsync(orderId);

            if (order == null)
            {
                return(new ApiErrorResult <bool>($"Không tìm thấy đơn hàng có mã {orderId}"));
            }
            if (order.Status == 0)
            {
                order.Status = 1;
            }
            else if (order.Status == 1)
            {
                order.Status = 2;
            }
            else if (order.Status == 2)
            {
                order.Status = 3;
            }

            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>());
        }
Beispiel #2
0
        public async Task <IActionResult> Checkout(CheckOutRequest request)
        {
            List <Cart> cartRequest = SessionHelper.GetObjectFromJson <List <Cart> >(HttpContext.Session, "cart");
            //Cart on Top

            //Define Function Checkout nè
            var transaction = new Transaction()
            {
                AdminId         = 1,
                ClientId        = 1,
                ShippingFeeId   = 1,
                AddressDistrict = request.AddressDistrict,
                AddressStreet   = request.AddressStreet,
                AddressNumber   = request.AddressNumber,
                Message         = request.Message,
                PaymentMethod   = request.PaymentMethod,
                Status          = 0,
                Amount          = cartRequest.Sum(item => item.Product.Price * item.Quantity),
                CreatedDate     = DateTime.Now,
            };

            _context.Transactions.Add(transaction);
            await _context.SaveChangesAsync();

            var order = new Order()
            {
                Amount   = cartRequest.Sum(item => item.Product.Price * item.Quantity),
                Quantity = cartRequest.Count,

                CreatedDate   = DateTime.Now,
                Status        = 1,
                Discount      = 1,
                TransactionId = transaction.Id,
            };

            _context.Orders.Add(order);
            await _context.SaveChangesAsync();

            foreach (var item in cartRequest)
            {
                var orderDetail = new OrderDetail
                {
                    ProductId = item.Product.Id,
                    Quantity  = item.Quantity,
                    OrderId   = order.Id,
                };
                _context.OrderDetails.Add(orderDetail);
                await _context.SaveChangesAsync();
            }
            HttpContext.Session.Remove("cart");
            TempData["result"] = "Thanks for buying, we are going to check your order ! ";
            return(RedirectToAction("Index"));
        }
Beispiel #3
0
        public async Task <ApiResult <bool> > CreateProduct(ProductCreateRequest request, string fileName)
        {
            var productResult = new Product()
            {
                ProductName = request.ProductName,
                Price       = request.Price,
                DiscountId  = request.DiscountId,
                CategoryId  = request.CategoryId,
                Image       = fileName,
                Description = request.Description,
                Quantity    = request.Quantity,
                CreatedDate = DateTime.Now,
            };

            _context.Products.Add(productResult);
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>());
        }