コード例 #1
0
        public ActionResult OrderDepositCreate(OrderPayHistoryDTO req)
        {
            Response res = new Response();

            if (ModelState.IsValid)
            {
                var currentUser = OperatorProvider.Provider.GetCurrent();

                var order = _orderRepository.GetOrderModel(req.OrderId);
                if (order == null || order.Id <= 0)
                {
                    res.Successed = false;
                    res.Message   = "无法找到此预订订单,请重新确认!";
                }
                else if (order.ReserveDate < DateTime.Now)
                {
                    res.Successed = false;
                    res.Message   = "此预订订单预订日期已过期!";
                }
                else
                {
                    req.CreateUser   = currentUser.UserId;
                    req.CreateDate   = DateTime.Now;
                    req.CyddJzStatus = CyddJzStatus.已付;
                    req.CyddJzType   = CyddJzType.定金;
                    var dateItem = _extendItemRepository.GetModelList(currentUser.CompanyId.ToInt(), 10003).FirstOrDefault();
                    if (dateItem != null)
                    {
                        var billDateNow = Convert.ToDateTime(dateItem.ItemValue);
                        if (billDateNow > DateTime.Today)
                        {
                            res.Successed = false;
                            res.Message   = "账务日期不能超过当前日期!";
                        }
                        else
                        {
                            req.MarketId        = currentUser.LoginMarketId;
                            req.BillDate        = billDateNow;
                            req.R_Restaurant_Id = currentUser.DepartmentId.ToInt();
                            var result = _orderRepository.OrderDepositCreate(req);
                            res.Successed = result;
                            res.Message   = result ? "操作成功" : "操作失败,请联系管理员";
                        }
                    }
                    else
                    {
                        res.Successed = false;
                        res.Message   = "餐饮账务日期尚未初始化,请联系管理员";
                    }
                }
            }
            else
            {
                res.Data    = false;
                res.Message = string.Join(",", ModelState
                                          .SelectMany(ms => ms.Value.Errors)
                                          .Select(e => e.ErrorMessage));
            }
            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult OrderDepositCreate(OrderPayHistoryDTO req)
        {
            Response res = new Response();

            if (ModelState.IsValid)
            {
                req.CreateUser   = 1;
                req.CreateDate   = DateTime.Now;
                req.CyddJzStatus = CyddJzStatus.已付;
                req.CyddJzType   = CyddJzType.定金;
                var result = OrderRepository.OrderDepositCreate(req);
                res.Data    = result;
                res.Message = result ? "操作成功" : "操作失败,请联系管理员";
            }
            else
            {
                res.Data    = false;
                res.Message = string.Join(",", ModelState.SelectMany(ms => ms.Value.Errors).Select(e => e.ErrorMessage));
            }
            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
ファイル: OrderService.cs プロジェクト: OpuZm/NHRTest
        public bool RefundDepositHandler(RefundDepositDTO req)
        {
            using (var db = new SqlSugarClient(Connection))
            {
                db.BeginTran();
                try
                {
                    string msg           = null;
                    bool   result        = false;
                    var    depositRecord = _payRep.GetModelByPayId(req.OrigianlDepositId);

                    if (depositRecord == null || depositRecord.Id <= 0)
                    {
                        msg = "无法找到此定金支付记录,重新确认!";
                    }
                    else if (depositRecord.CyddJzType != CyddJzType.定金)
                    {
                        msg = "非定金支付记录不能操作退回,重新确认!";
                    }
                    else if (depositRecord.CyddJzStatus != CyddJzStatus.已付)
                    {
                        msg = "当前定金记录已操作过转结或退款操作,请重新确认!";
                    }
                    else if (depositRecord.PayAmount <= 0)
                    {
                        msg = "未发现可退定金金额!";
                    }
                    else
                    {
                        OrderPayHistoryDTO refundObj = new OrderPayHistoryDTO();
                        var dateItem = _extendItemRepository.GetModelList(req.CompanyId, 10003).FirstOrDefault();
                        if (dateItem != null)
                        {
                            var billDateNow = Convert.ToDateTime(dateItem.ItemValue);
                            if (billDateNow > DateTime.Today)
                            {
                                msg = "账务日期不能超过当前日期!";
                            }
                            else
                            {
                                R_OrderPayRecord model = new R_OrderPayRecord();
                                model.CreateDate      = DateTime.Now;
                                model.CreateUser      = req.CurrentUserId;
                                model.R_Order_Id      = depositRecord.R_Order_Id;
                                model.CyddJzStatus    = CyddJzStatus.已退;
                                model.CyddJzType      = CyddJzType.定金;
                                model.CyddPayType     = depositRecord.CyddPayType;
                                model.PayAmount       = -depositRecord.PayAmount;
                                model.R_Market_Id     = req.CurrentMarketId;
                                model.BillDate        = billDateNow;
                                model.Remark          = "退回定金";
                                model.PId             = req.OrigianlDepositId;
                                model.R_Restaurant_Id = req.RestaurantId;
                                var orderRecord = new R_OrderRecord()
                                {
                                    CreateUser       = req.CurrentUserId,
                                    CreateDate       = DateTime.Now,
                                    CyddCzjlStatus   = CyddStatus.结账,
                                    CyddCzjlUserType = CyddCzjlUserType.员工,
                                    R_Order_Id       = depositRecord.R_Order_Id,
                                    Remark           = "退定金操作,原定金支付记录Id:" + depositRecord.Id
                                                       + ",退回金额(" + depositRecord.PayAmount.ToString("f2") + ")",
                                };
                                db.Insert(orderRecord);//记录退定金操作

                                //更新原定金记录状态为已结
                                db.Update <R_OrderPayRecord>(new { CyddJzStatus = CyddJzStatus.已结 }, x => x.Id == depositRecord.Id);

                                result = db.Insert <R_OrderPayRecord>(model) == null ? false : true;

                                db.CommitTran();
                            }
                        }
                        else
                        {
                            msg = "餐饮账务日期尚未初始化,请联系管理员!";
                        }
                    }

                    if (msg != null)
                    {
                        throw new Exception(msg);
                    }

                    return(result);
                }
                catch (Exception e)
                {
                    db.RollbackTran();
                    throw e;
                }
            }
        }