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)); }
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)); }
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; } } }