private void LoadPayItemDetailInfo() { PayItemDetailInfoReq request = new PayItemDetailInfoReq(); if (ValidQueryParam(this.Request.Param, ref request)) { this._payFacade.LoadPayDetailInfoForEdit(request, result => { this.btnNew.IsEnabled = true && AuthMgr.HasFunctionPoint(AuthKeyConst.Invoice_PayItem_InvoiceInputMaintain_Insert); _pageVM = result; this.LayoutRoot.DataContext = _pageVM; this.tbTotalInfo.Text = string.Format(ResPayItemMaintain.Message_TotalInfo, _pageVM.OrderSysNo, ConstValue.Invoice_ToCurrencyString(_pageVM.TotalAmt), ConstValue.Invoice_ToCurrencyString(_pageVM.PaidAmt)); this.tbTotalInfo.Visibility = Visibility.Visible; if (_pageVM.OrderType == PayableOrderType.POAdjust || _pageVM.OrderType == PayableOrderType.RMAPOR) { this.btnNew.IsEnabled = false; } }); } else { this.Window.Confirm(ResPayItemMaintain.Message_RecordDataError, (x => { this.Window.Close(); })); } }
public PayDetailInfoResp LoadPayDetailInfo(PayItemDetailInfoReq request) { if (request.PaySysNo.HasValue) { return(LoadForEditBySysNo(request.PaySysNo.Value, request.CompanyCode)); } else if (request.OrderSysNo.HasValue && request.OrderType.HasValue) { return(LoadForEditByOrderSysNoAndOrderType(request.OrderSysNo.Value, request.OrderType.Value, request.CompanyCode)); } else { throw new ArgumentException("Invalid Parameter"); } }
private bool ValidQueryParam(string queryParam, ref PayItemDetailInfoReq request) { bool valid = false; var match = Regex.Match(this.Request.Param, @"^\?PaySysNo=(\d+)$|^\?OrderSysNo=(\d+)&OrderType=(\d+)$"); if (match != null && !string.IsNullOrEmpty(match.Value)) { if (match.Value.IndexOf("PaySysNo=") >= 0) { int paySysNo; if (int.TryParse(match.Groups[1].Value, out paySysNo)) { request.PaySysNo = paySysNo; valid = true; } } else if (match.Value.IndexOf("OrderSysNo=") >= 0) { int orderSysNo; int orderType; bool flag1 = false; bool flag2 = false; if (int.TryParse(match.Groups[2].Value, out orderSysNo)) { request.OrderSysNo = orderSysNo; flag1 = true; } if (int.TryParse(match.Groups[3].Value, out orderType) && Enum.IsDefined(typeof(PayableOrderType), orderType)) { request.OrderType = (PayableOrderType)orderType; flag2 = true; } valid = flag1 && flag2; } } return(valid); }
public void LoadPayDetailInfoForEdit(PayItemDetailInfoReq request, Action <PaymentOrderMaintainVM> callback) { string relativeUrl = "/InvoiceService/Payable/LoadForEdit"; request.CompanyCode = CPApplication.Current.CompanyCode; restClient.Query <PayDetailInfoResp>(relativeUrl, request, (obj, args) => { if (args.FaultsHandle()) { return; } PaymentOrderMaintainVM result = EntityConverter <OrderInfo, PaymentOrderMaintainVM> .Convert(args.Result.OrderInfo); result.TotalAmt = args.Result.TotalInfo.TotalAmt; result.PaidAmt = args.Result.TotalInfo.PaidAmt; result.PayItemList = args.Result.PayItemList.Convert <PayItemInfo, PayItemVM>((s, t) => { t.PayItemSysNo = s.SysNo; t.IsVendorHolded = args.Result.OrderInfo.IsVendorHoldedControl; }); callback(result); }); }