Exemple #1
0
        public StatusOrderResponse(StatusOrderRequest req)
        {
            Result = false;

            bool OplataNal = !req.OplataBK;

            if (String.IsNullOrEmpty(req.DescripClose))
            {
                req.DescripClose = "";
            }

            switch (req.ID_STATUS)
            {
            case 3: Order.SetStatus_Denied(req.Sessionid, req.ID_ZAKAZ, req.DescripClose);
                Result = true; break;

            case 4: Order.SetStatus_InWork(req.Sessionid, req.ID_ZAKAZ);
                Result = true; break;

            case 5: Order.SetStatus_Succes(req.Sessionid, req.ID_ZAKAZ, req.MoneyAll, req.MoneyDetal, req.MoneyFirm, req.DescripClose, OplataNal);
                Result = true; break;

            case 7: Order.SetStatus_Diagnostik(req.Sessionid, req.ID_ZAKAZ, req.DescripClose, req.MoneyDiagnostik, req.MoneyFirm, OplataNal);
                Result = true; break;
            }
        }
Exemple #2
0
        public async Task <bool> SetStatusNotConfirm(int orderId, OrderStatus status)
        {
            var arg = new StatusOrderRequest()
            {
                orderId = orderId, status = status
            };

            return(await ChangeOrderStatus(arg));
        }
Exemple #3
0
        public async Task <bool> CancelOrder(CancelOrderRequest request)
        {
            var arg = new StatusOrderRequest {
                orderId = request.orderId, status = request.status
            };
            var result = await MoveOrderStatus(arg);

            return(result.success);
        }
Exemple #4
0
        public StatusOrderResponse Post([FromBody] StatusOrderRequest req)
        {
            string json = "";

            StatusOrderResponse resp = new StatusOrderResponse(req);

            //json = JsonConvert.SerializeObject(resp);

            return(resp);
        }
Exemple #5
0
        //hàm chuyển trạng thái
        private async Task <bool> ChangeOrderStatus(StatusOrderRequest request)
        {
            var order = await _context.orders.Where(x => x.id == request.orderId).FirstOrDefaultAsync();

            if (order == null)
            {
                return(false);
            }
            order.status = request.status;
            _context.Entry(order).State = EntityState.Modified;
            return(await _context.SaveChangesAsync() > 0);
        }
        // this method for the admin update status order of customer

        public bool updateSttOrdrerAd(StatusOrderRequest statusRequest)
        {
            var order = _context.Order.Where(od => od.Id == statusRequest.OrderId).FirstOrDefault();

            if (order == null)
            {
                return(false);
            }
            order.Status = statusRequest.StatusId;

            _context.Order.Update(order);

            _context.SaveChanges();

            return(true);
        }
        public async Task <IActionResult> ConfirmShippingAndSendMailBillOrder(StatusOrderRequest request)
        {
            var result = await _manageOrderService.confirmShippingAndSendMailBillOrder(request);

            if (result.success)
            {
                var listData = await _manageOrderService.GetOrderDetailByOrderId(request.orderId);

                var message = new Message(new String[] { result.email }, "ONLINE SHOP - Hóa Đơn Khách Hàng - " + result.customer, string.Empty);
                var flag    = await _emailSender.SendMailOrderBill(message, listData, result.total);

                if (flag == false)
                {
                    await _manageOrderService.SetStatusNotConfirm(request.orderId, 0);
                }
                return(Ok(flag));
            }
            return(Ok(result.success));
        }
        //Hàm chuyển trạng thái và lấy thông tin
        private async Task <ResultOrderViewModel> MoveOrderStatus(StatusOrderRequest request)
        {
            var order = await _context.orders.Where(x => x.id == request.orderId).Include(u => u.user).FirstOrDefaultAsync();

            if (order == null)
            {
                return(new ResultOrderViewModel {
                    total = 0, customer = string.Empty, email = string.Empty, success = false
                });;
            }
            var total    = order.total;
            var customer = string.IsNullOrEmpty(order.guess) ? order.user.displayname : order.guess;

            order.status = request.status;
            _context.Entry(order).State = EntityState.Modified;
            var rs = await _context.SaveChangesAsync() > 0;

            return(new ResultOrderViewModel {
                total = total, customer = customer, email = order.email, success = rs
            });
        }
Exemple #9
0
        public async Task <bool> confirmSuccessOrder(StatusOrderRequest request)
        {
            bool check = false;

            using (var trans = await _context.Database.BeginTransactionAsync())
            {
                try
                {
                    var changeStatus = await ChangeOrderStatus(request);

                    if (changeStatus == false)
                    {
                        return(false);
                    }
                    var orderDetailList = await _context.orderDetails.Where(x => x.orderId == request.orderId).ToListAsync();

                    //var productList = await _context.products.ToListAsync();
                    foreach (var item in orderDetailList)
                    {
                        var product = await _context.products.FirstAsync(x => x.id == item.productId);

                        product.amount = product.amount - item.quantity;
                        _context.Entry(product).State = EntityState.Modified;
                        await _context.SaveChangesAsync();
                    }

                    await trans.CommitAsync();

                    check = true;
                }
                catch (Exception ex)
                {
                    await trans.RollbackAsync();

                    check = false;
                }
            }
            return(check);
            //return await ChangeOrderStatus(request);
        }
        public bool UpdateSttOdAd(StatusOrderRequest statusRequest)
        {
            var result = _repo.updateSttOrdrerAd(statusRequest);

            return(result);
        }
        public async Task <IActionResult> ConfirmSuccessOrder(StatusOrderRequest request)
        {
            var data = await _manageOrderService.confirmSuccessOrder(request);

            return(Ok(data));
        }
Exemple #12
0
        public async Task <ResultOrderViewModel> confirmShippingAndSendMailBillOrder(StatusOrderRequest request)
        {
            var result = await MoveOrderStatus(request);

            return(result);
        }