private void ucPostPayInfo_SearchOrderButtonClick(object sender, RoutedEventArgs e) { var payInfo = ucPostPayInfo.DataContext as PayInfoVM; if (payInfo != null && !string.IsNullOrEmpty(payInfo.SOSysNo)) { btnSave.IsEnabled = false; int soSysNo; if (int.TryParse(payInfo.SOSysNo, out soSysNo)) { facade.LoadForEdit(soSysNo, result => { postpayVM = result; this.LayoutRoot.DataContext = postpayVM; var confirmedOrder = result.ConfirmedOrderList.FirstOrDefault(s => s.SOSysNo == soSysNo); btnSave.IsEnabled = (confirmedOrder.ConfirmStatus == PostIncomeConfirmStatus.Related); //计算收款单剩余金额并设置提示信息 //tblReminAmtPrompMessage.Text = string.Format("提示:收款单剩余金额为{0}元,请注意!", // ConstValue.Invoice_ToCurrencyString(result.RemainAmt)); tblReminAmtPrompMessage.Text = string.Format(ResPostPay.Msg_BillAmountIsZero, ConstValue.Invoice_ToCurrencyString(result.RemainAmt)); postpayVM.PayInfo.ValidationErrors.Clear(); }); } } }
public void LoadForEdit(int soSysNo, Action <PostPayVM> callback) { string relativeUrl = string.Format("/InvoiceService/PostPay/Load/{0}", soSysNo); restClient.Query <PostPayResp>(relativeUrl, (obj, args) => { if (args.FaultsHandle()) { return; } PostPayVM postpayVM = new PostPayVM(); postpayVM.ConfirmedOrderList = args.Result.ConfirmedOrderList.Convert <PostIncomeConfirmInfo, ConfirmedOrderVM, List <ConfirmedOrderVM> >((s, t) => { t.ConfirmStatus = s.Status; t.SOSysNo = s.ConfirmedSoSysNo; }) .Where(w => w.ConfirmStatus != PostIncomeConfirmStatus.Cancel) .ToList(); postpayVM.PayInfo = args.Result.SOBaseInfo.Convert <SOBaseInfo, PayInfoVM>((s, t) => { t.SOSysNo = s.SysNo.ToString(); t.PrepayAmt = s.PrepayAmount ?? 0; t.ReceivableAmt = s.ReceivableAmount; t.SOTotalAmt = s.SOTotalAmount; t.GiftCardPayAmt = s.GiftCardPay ?? 0; }); postpayVM.RefundInfo = new RefundInfoVM(); postpayVM.RemainAmt = args.Result.RemainAmt; callback(postpayVM); }); }
/// <summary> /// 创建PostPay /// </summary> /// <param name="postPayVM"></param> /// <param name="callback"></param> public void Create(PostPayVM postPayVM, Action callback) { CheckPostPayReq req = postPayVM.ConvertVM <PostPayVM, CheckPostPayReq>((s, t) => { t.IsForceCheck = s.IsForceCheck; t.PayReq = s.PayInfo.ConvertVM <PayInfoVM, PayInfoReqData>(); t.RefundReq = s.RefundInfo.ConvertVM <RefundInfoVM, RefundInfoReqData>(); }); string relativeUrl = "/InvoiceService/PostPay/Create"; restClient.Create <object>(relativeUrl, req, (obj, args) => { if (args.FaultsHandle()) { return; } callback(); }); }
private void NewPostPayDataContext() { postpayVM = new PostPayVM(); this.LayoutRoot.DataContext = postpayVM; }