示例#1
0
 private void bindApplyform(PostponeApplyform applyform)
 {
     bindTips(null);
     bindVoyages(applyform);
     bindPassengers(applyform);
     bindParameters(applyform.Id, "2", applyform.ProductType, Math.Abs(applyform.PayBill.Applier.Amount));
 }
示例#2
0
        private void payPostponeFee(decimal applyformId)
        {
            PostponeApplyform postponeApplyform = ApplyformQueryService.QueryPostponeApplyform(applyformId);

            if (postponeApplyform == null)
            {
                showErrorMessage("改期申请单 [" + applyformId + "] 不存在");
            }
            else
            {
                flights = postponeApplyform.Flights.Select(f => f.NewFlight).ToList();
                string errorMessage;
                if (ApplyformProcessService.Payable(applyformId, out errorMessage))
                {
                    string lockErrorMsg;
                    if (Lock(applyformId, LockRole.Purchaser, "支付改期费", out lockErrorMsg))
                    {
                        bindApplyform(postponeApplyform);
                        bindPayTypes();
                    }
                    else
                    {
                        showErrorMessage("锁定改期申请单失败。原因:" + lockErrorMsg);
                    }
                }
                else
                {
                    showErrorMessage(errorMessage);
                }
            }
        }
示例#3
0
 private static AccountTradeDTO getPayTradeView(PostponeApplyform applyform, string payAccount, string operatorAccount)
 {
     return(new AccountTradeDTO
     {
         OutOrderId = applyform.Id.ToString(),
         TradeAmount = Math.Abs(applyform.PayBill.Applier.Amount),
         IncomeAccountNo = applyform.PayBill.Tradement.PayeeAccount,
         PaymentAccountNo = payAccount,
         Subject = "代扣支付改期费",
         IsProtocol = true,
         Note = applyform.OriginalPNR == null ? string.Empty : (applyform.OriginalPNR.PNR ?? applyform.OriginalPNR.BPNR),
         CustomParameter = PostponeApplyformPayType + "|" + payAccount + "|" + operatorAccount + "|"
     });
 }
示例#4
0
        public static void SaveCancelPostponeLog(PostponeApplyform postponeApplyform, string operatorAccount)
        {
            var log = new Log.Domain.OrderLog()
            {
                OrderId     = postponeApplyform.OrderId,
                ApplyformId = postponeApplyform.Id,
                Keyword     = "改期处理",
                Content     = "取消改期",
                Company     = postponeApplyform.PurchaserId,
                Account     = operatorAccount,
                Role        = OperatorRole.Purchaser,
                VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.Supplier | OrderRole.Provider | OrderRole.OEMOwner
            };

            LogService.SaveOrderLog(log);
        }
示例#5
0
        public static void SaveDenyPostponeLog(PostponeApplyform postponeApplyform, string reason, string operatorAccount)
        {
            var log = new Log.Domain.OrderLog()
            {
                OrderId     = postponeApplyform.OrderId,
                ApplyformId = postponeApplyform.Id,
                Keyword     = "改期处理",
                Content     = "拒绝改期。原因:" + reason,
                Company     = Organization.Domain.Platform.Instance.Id,
                Account     = operatorAccount,
                Role        = OperatorRole.Platform,
                VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.Supplier | OrderRole.Provider | OrderRole.OEMOwner
            };

            LogService.SaveOrderLog(log);
        }
示例#6
0
        public static void SaveAgreePostponeForFeeLog(PostponeApplyform postponeApplyform, IEnumerable <PostponeFeeView> postponeFeeViews, string operatorAccount)
        {
            var log = new Log.Domain.OrderLog()
            {
                OrderId     = postponeApplyform.OrderId,
                ApplyformId = postponeApplyform.Id,
                Keyword     = "改期处理",
                Content     = "收取改期费。" + postponeFeeViews.Join("; ", item => string.Format("航段:[{0}] 改期费:{1}", item.AirportPair.ToString('-'), item.Fee)),
                Company     = Organization.Domain.Platform.Instance.Id,
                Account     = operatorAccount,
                Role        = OperatorRole.Platform,
                VisibleRole = OrderRole.Platform | OrderRole.Purchaser
            };

            LogService.SaveOrderLog(log);
        }
示例#7
0
        public void InitPostPoneView(PostponeApplyform applyform, CompanyType companyType)
        {
            lblApplyformId.Text = applyform.Id.ToString();
            lblPassengers.Text  = string.Join("&nbsp;", applyform.Passengers.Select(p => p.Name));
            lblPNR.Text         = PNRRender(applyform.NewPNR ?? applyform.OriginalPNR);
            //applyform.NewPNR == null
            //              ? applyform.OriginalPNR == null ?
            //              string.Empty
            //                    : string.Format(PNRFORMAT, applyform.OriginalPNR.PNR, applyform.OriginalPNR.BPNR)
            //              : string.Format(PNRFORMAT, applyform.NewPNR.PNR, applyform.NewPNR.BPNR);
            lblAppliedTime.Text = applyform.AppliedTime.ToString("yyyy-MM-dd HH:mm:ss");
            lblRefundFee.Text   = applyform.PostponeFee == 0m ? "免费" : applyform.PostponeFee.ToString();
            //lblPaydTime.Text = applyform.PayBill.Tradement.
            IsShowRefundFee            = applyform.Status == PostponeApplyformStatus.Denied;
            lblStatus.Text             = StatusService.GetPostponeApplyformStatus(applyform.Status, BasePage.GetOrderRole(applyform.Order));
            lblProcessedTime.Text      = applyform.ProcessedTime.HasValue ? applyform.ProcessedTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty;
            lblApplyformId.PostBackUrl = InitDetailUrl(BasePage.GetOrderRole(applyform.Order)) + applyform.Id;


            dataList.DataSource = applyform.Flights.Select(f => new
            {
                Carrier = f.OriginalFlight.Carrier.Name,
                f.OriginalFlight.FlightNo,
                f.OriginalFlight.AirCraft,
                Bank      = string.Format("{0}/{1}", string.IsNullOrEmpty(f.OriginalFlight.Bunk.Code) ? "-" : f.OriginalFlight.Bunk.Code, (f.OriginalFlight.Bunk.Discount * 100).TrimInvaidZero()),
                Departure = string.Format("{0}{1}", f.OriginalFlight.Departure.City, f.OriginalFlight.Departure.Name),
                Arrival   = string.Format("{0}{1}", f.OriginalFlight.Arrival.City, f.OriginalFlight.Arrival.Name),
                f.OriginalFlight.TakeoffTime,
                f.OriginalFlight.LandingTime,
                f.OriginalFlight.Id
            });
            dataList.DataBind();
            dataListNew.DataSource = applyform.Flights.Select(f => new
            {
                Carrier = f.NewFlight.Carrier.Name,
                f.NewFlight.FlightNo,
                f.NewFlight.AirCraft,
                Bank      = string.Format("{0}/{1}", f.NewFlight.Bunk.Code, (f.NewFlight.Bunk.Discount * 100).TrimInvaidZero()),
                Departure = string.Format("{0}{1}", f.NewFlight.Departure.City, f.NewFlight.Departure.Name),
                Arrival   = string.Format("{0}{1}", f.NewFlight.Arrival.City, f.NewFlight.Arrival.Name),
                f.NewFlight.TakeoffTime,
                f.NewFlight.LandingTime,
                f.NewFlight.Id
            });
            dataListNew.DataBind();
        }
示例#8
0
        public static void SavePostponeFeePaySuccessLog(PostponeApplyform postponeApplyform, string payAccount, string payTradeNo, DateTime payTime, string operatorAccount)
        {
            var logContent = string.Format("支付改期费。账号:{0} 流水号:{1} 时间:{2}", payAccount, payTradeNo, payTime.ToString("yyyy-MM-dd mm:HH:ss"));
            var log        = new Log.Domain.OrderLog()
            {
                OrderId     = postponeApplyform.OrderId,
                ApplyformId = postponeApplyform.Id,
                Keyword     = "支付改期费",
                Content     = logContent,
                Company     = postponeApplyform.PurchaserId,
                Account     = operatorAccount,
                Role        = OperatorRole.Purchaser,
                Time        = payTime,
                VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.OEMOwner
            };

            LogService.SaveOrderLog(log);
        }
示例#9
0
文件: PNRInfo.cs 项目: 842549829/Pool
        internal PNRInfo UpdateContentForPostpone(PostponeApplyform postponeApplyform)
        {
            PNRInfo            result     = null;
            IEnumerable <Guid> passengers = postponeApplyform.GetAppliedPassengers();

            if (isAllPassengers(passengers))
            {
                updateFlights(postponeApplyform.Flights);
            }
            else
            {
                if (PNRPair.IsNullOrEmpty(postponeApplyform.NewPNR))
                {
                    throw new CustomException("未提供分离后的新编码");
                }
                result = separate(postponeApplyform.NewPNR, passengers);
                result.updateFlights(postponeApplyform.Flights);
            }
            return(result);
        }
示例#10
0
        private void process()
        {
            showMessage("开始下一批处理");
            var noPorcess = AutoPayService.QueryNoPorcess();
            //var str = Environment.CurrentDirectory;
            string msg = "";

            foreach (var item in noPorcess)
            {
                if (!_run)
                {
                    break;
                }
                AccountTradeDTO tradeView = null;
                //处理订单
                if (item.OrderType == OrderType.Order)
                {
                    OrderProcessService.Payable(item.OrderId, out msg);
                    if (string.IsNullOrEmpty(msg))
                    {
                        Order order = OrderQueryService.QueryOrder(item.OrderId);
                        tradeView = getPayTradeView(order, getPayAccountNo(item.PayType, order.Purchaser.Amount, order.Purchaser.CompanyId), "");
                    }
                }
                //处理申请单
                else if (item.OrderType == OrderType.Postpone)
                {
                    ApplyformProcessService.Payable(item.OrderId, out msg);
                    if (string.IsNullOrEmpty(msg))
                    {
                        PostponeApplyform applyform = ApplyformQueryService.QueryPostponeApplyform(item.OrderId);
                        if (applyform.PayBill.Tradement == null)
                        {
                            msg = "申请单:" + item.OrderId + " 不能进行代扣,无支付信息!";
                        }
                        tradeView = getPayTradeView(applyform, getPayAccountNo(item.PayType, Math.Abs(applyform.PayBill.Applier.Amount), applyform.PurchaserId), "");
                    }
                }
                if (item.PayType == WithholdingAccountType.Alipay)
                {
                    tradeView.BuyerEmail = item.PayAccountNo;
                }
                try
                {
                    if (string.IsNullOrEmpty(msg))
                    {
                        global::PoolPay.DomainModel.Trade.PayTrade pay = AutoPayService.AutoPay(tradeView, item.PayType);
                        if (item.PayType == WithholdingAccountType.Poolpay)
                        {
                            //如果是国付通代扣就直接修改订单状态
                            if (pay != null && pay.Status == global::PoolPay.DataTransferObject.PayStatus.PaySuccess)
                            {
                                NotifyService.PaySuccess(item.OrderId, pay.CustomParameter, pay.Id.ToString(), pay.FillChargeId.ToString(), pay.PayDate.Value, "", (pay.BuyerAccount.Character as global::PoolPay.DomainModel.Accounts.CreditAccount) == null ? "0" : "1", pay.BuyerAccount.AccountNo);
                            }
                        }
                        showMessage("处理成功");
                    }
                    else
                    {
                        showMessage("处理失败" + Environment.NewLine + "原因:" + msg);
                    }
                }
                catch (Exception ex)
                {
                    showMessage("处理失败" + Environment.NewLine + "原因:" + ex.Message);
                }
                AutoPayService.UpdateProcess(item.OrderId);
                System.Threading.Thread.Sleep(50);
            }
            showMessage("当前批次处理结束,共处理 " + noPorcess.Count + " 条");
        }
示例#11
0
 private void bindPassengers(PostponeApplyform applyform)
 {
     ucPassengers.InitData(applyform.Order, applyform.Passengers, applyform.Flights.Select(f => f.OriginalFlight));
 }
示例#12
0
 private void bindVoyages(PostponeApplyform applyform)
 {
     ucVoyages.InitData(applyform.Order, applyform.Flights.Select(item => item.OriginalFlight));
 }