Esempio n. 1
0
        private void btnBatchConfirm_Click(object sender, RoutedEventArgs e)
        {
            if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Invoice_POSPay_BatchConfirm))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }

            var selectedSysNoList = GetSelectedSOIncomeSysNoList();

            if (selectedSysNoList.Count <= 0)
            {
                Window.Alert(ResCommon.Message_AtLeastChooseOneRecord);
                return;
            }
            //TODO:调用中蛋定制化的Service Facade方法,需要将权限信息传到服务端做数据隔离
            m_SOIncomeFace.BatchConfirm(selectedSysNoList, false, (msg) =>
            {
                Window.Alert(msg, () => dgPOSPayQueryResult.Bind());
            });
        }
Esempio n. 2
0
        /// <summary>
        /// 收款单确认
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfirm_Click(object sender, RoutedEventArgs e)
        {
            var selectedSysNoList = GetSelectedSOIncomeSysNoList();

            if (selectedSysNoList == null)
            {
                return;
            }
            if (selectedSysNoList.Count <= 0)
            {
                Window.Alert(ResCommon.Message_AtLeastChooseOneRecord);
                return;
            }


            //放到了服务端验证
            #region 货到付款订单确认时判断订单实收金额和支付金额是否一致,如果不一致则确认不通过,提示信息:订单11111实收金额(PayAmount),现金支付:120,银行卡支付:129,预付款:100

            //string msgInfo = "";
            //List<SaleIncomeVM> datasource = (List<SaleIncomeVM>)dgSaleIncomeQueryResult.ItemsSource;
            //foreach (var sub in selectedSysNoList)
            //{
            //    var target = datasource.First(m => (m.SysNo == sub));
            //    var DecimalIsNull = new Func<decimal?, decimal>(decimalObject => { return decimalObject == null ? 0 : decimalObject.Value; });
            //    if (target.IncomeStyle == SOIncomeOrderStyle.Normal)//货到付款
            //    {
            //        //check
            //        var posAmount = DecimalIsNull(target.PosPrePay) + DecimalIsNull(target.PosCash) + DecimalIsNull(target.PosBankCard);
            //        var orderAmount = DecimalIsNull(target.OrderAmt.Value);
            //        var realGetAmount = DecimalIsNull(target.IncomeAmt.Value);
            //        if (posAmount != realGetAmount)
            //        {
            //            var msg = "";
            //            msg += string.Format("订单号{0} 实收金额{1},现金支付{2},银行支付{3},预付款{4}。",
            //                target.OrderSysNo.Value.ToString(),
            //                realGetAmount.ToString("#0.00"),
            //                DecimalIsNull(target.PosCash),
            //                DecimalIsNull(target.PosBankCard),
            //                DecimalIsNull(target.PosPrePay));
            //            msg += Environment.NewLine;
            //            msgInfo += msg;
            //        }
            //    }
            //}
            //if (string.IsNullOrEmpty(msgInfo) == false)
            //{
            //    msgInfo = "订单实收金额和支付金额不一致,无法确认。" + Environment.NewLine + msgInfo;
            //    Window.Alert(msgInfo);
            //    return;
            //}
            #endregion

            bool hasRight = false;
            if (AuthMgr.HasFunctionPoint(AuthKeyConst.Invoice_SaleIncomeQuery_Confirm_AnyRefundType))
            {
                hasRight = true;
            }

            soIncomeFacade.BatchConfirm(selectedSysNoList, hasRight, msg =>
            {
                Window.Alert(msg, () => this.dgSaleIncomeQueryResult.Bind());
            });
        }