示例#1
0
        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();
                }));
            }
        }
示例#2
0
 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");
     }
 }
示例#3
0
        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);
        }
示例#4
0
        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);
            });
        }