示例#1
0
        public virtual void CCTransactionsHistoryFilter_RowUpdated(PXCache sender, PXRowUpdatedEventArgs e)
        {
            CCTransactionsHistoryFilter row    = (CCTransactionsHistoryFilter)e.Row;
            CCTransactionsHistoryFilter oldRow = (CCTransactionsHistoryFilter)e.OldRow;

            if (oldRow.PaymentMethodID != row.PaymentMethodID || oldRow.CardNumber != row.CardNumber || oldRow.PartialCardNumber != row.PartialCardNumber)
            {
                this.RecalcRow(row);
            }
            if (row.MaskedCardNumber != oldRow.MaskedCardNumber || row.DBSearchName != oldRow.DBSearchName)
            {
                PXResult <CustomerPaymentMethod> cnt = PXSelectJoinGroupBy <CustomerPaymentMethod, InnerJoin <Customer,
                                                                                                              On <Customer.bAccountID, Equal <CustomerPaymentMethod.bAccountID> > >,
                                                                            Where <CustomerPaymentMethod.paymentMethodID, Equal <Current <CCTransactionsHistoryFilter.paymentMethodID> >,
                                                                                   And <CustomerPaymentMethod.descr, Like <Optional <CCTransactionsHistoryFilter.maskedCardNumber> >,
                                                                                        And <Customer.acctName, Like <Optional <CCTransactionsHistoryFilter.dBSearchName> >,
                                                                                             And <CustomerPaymentMethod.isActive, Equal <True> > > > >,
                                                                            Aggregate <Count <CustomerPaymentMethod.pMInstanceID> > > .Select(this, row.MaskedCardNumber, row.DBSearchName);

                int count = 0;
                if (cnt != null && cnt.RowCount != null)
                {
                    count             = (int)cnt.RowCount;
                    row.NumberOfCards = cnt.RowCount;
                }
                row.PMInstanceID = count == 1 ? ((CustomerPaymentMethod)cnt).PMInstanceID : null;
            }
        }
示例#2
0
        public virtual void CCTransactionsHistoryFilter_PaymentMethodID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            CCTransactionsHistoryFilter row = (CCTransactionsHistoryFilter)e.Row;

            row.PMInstanceID      = null;
            row.PartialCardNumber = string.Empty;
        }
示例#3
0
        public virtual IEnumerable cCTrans()
        {
            List <PXResult <CCProcTran, CustomerPaymentMethod, Customer, ARPayment> > res = new List <PXResult <CCProcTran, CustomerPaymentMethod, Customer, ARPayment> >();

            CCTransactionsHistoryFilter filter = (CCTransactionsHistoryFilter)this.Filter.Current;


            if (filter != null && string.IsNullOrEmpty(filter.PaymentMethodID) == false &&
                filter.StartDate.HasValue && filter.EndDate.HasValue && filter.PMInstanceID != null)
            {
                GetInternalData(filter.PaymentMethodID);

                PXSelectBase <CCProcTran> sel = new PXSelectJoin <CCProcTran,
                                                                  InnerJoin <CustomerPaymentMethod, On <CustomerPaymentMethod.pMInstanceID, Equal <CCProcTran.pMInstanceID> >,
                                                                             InnerJoin <Customer, On <CustomerPaymentMethod.bAccountID, Equal <Customer.bAccountID> >,
                                                                                        LeftJoin <ARPayment, On <ARPayment.docType, Equal <CCProcTran.docType>, And <ARPayment.refNbr, Equal <CCProcTran.refNbr> > > > > > >(this);

                if (string.IsNullOrEmpty(filter.PaymentMethodID) == false)
                {
                    sel.WhereAnd <Where <CustomerPaymentMethod.paymentMethodID, Equal <Current <CCTransactionsHistoryFilter.paymentMethodID> > > >();
                }
                if (string.IsNullOrEmpty(filter.ProcessingCenterID) == false)
                {
                    sel.WhereAnd <Where <CCProcTran.processingCenterID, Equal <Current <CCTransactionsHistoryFilter.processingCenterID> > > >();
                }
                if (filter.StartDate.HasValue)
                {
                    sel.WhereAnd <Where <CCProcTran.startTime, GreaterEqual <Current <CCTransactionsHistoryFilter.startDate> > > >();
                }
                if (filter.EndDate.HasValue)
                {
                    sel.WhereAnd <Where <CCProcTran.startTime, LessEqual <Current <CCTransactionsHistoryFilter.endDatePlusOne> > > >();
                }

                if (filter.PMInstanceID.HasValue)
                {
                    sel.WhereAnd <Where <CustomerPaymentMethod.pMInstanceID, Equal <Current <CCTransactionsHistoryFilter.pMInstanceID> > > >();
                }

                foreach (PXResult <CCProcTran, CustomerPaymentMethod, Customer, ARPayment> it in sel.Select(CardNumber_DetailID, NameOnCard_DetailID))
                {
                    ARPayment  payment = it;
                    CCProcTran ccTran  = it;
                    if (ccTran.TranType == CCTranTypeCode.Credit || ccTran.TranType == CCTranTypeCode.VoidTran)
                    {
                        ARPayment voiding = PXSelect <ARPayment, Where <ARPayment.refNbr, Equal <Required <ARPayment.refNbr> >,
                                                                        And <ARPayment.docType, Equal <ARDocType.voidPayment> > > > .Select(this, payment.RefNbr);

                        if (voiding != null)
                        {
                            ((ARPayment)it).DocType  = ARDocType.VoidPayment;
                            ((CCProcTran)it).DocType = ARDocType.VoidPayment;
                        }
                    }
                    yield return(it);
                }
            }
            yield break;
        }
示例#4
0
        public virtual void CCTransactionsHistoryFilter_CardSearchType_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            CCTransactionsHistoryFilter row = (CCTransactionsHistoryFilter)e.Row;

            if (row.CardSearchType == CardSearchOption.FullNumber)
            {
                row.PartialCardNumber = String.Empty;
            }
            else
            {
                row.CardNumber = String.Empty;
            }
        }
示例#5
0
        protected virtual void RecalcRow(CCTransactionsHistoryFilter aRow)
        {
            if (!string.IsNullOrEmpty(aRow.PaymentMethodID))
            {
                PaymentMethodDetail def = PXSelect <PaymentMethodDetail, Where <PaymentMethodDetail.paymentMethodID,
                                                                                Equal <Optional <CCTransactionsHistoryFilter.paymentMethodID> >,
                                                                                And <PaymentMethodDetail.useFor, Equal <PaymentMethodDetailUsage.useForARCards>,
                                                                                     And <PaymentMethodDetail.isIdentifier, Equal <True> > > > > .Select(this, aRow.PaymentMethodID);

                if (def != null)
                {
                    aRow.MaskedCardNumber = CustomerPaymentMethodMaint.FormatDescription(aRow.PaymentMethodID, CustomerPaymentMethodMaint.IDObfuscator.RestoreToMasked(aRow.PartialCardNumber, def.DisplayMask, SqlDialect.WildcardAnySingle, false));
                }
            }
        }
示例#6
0
        public virtual void CCTransactionsHistoryFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            if (e.Row == null)
            {
                return;
            }

            CCTransactionsHistoryFilter row = (CCTransactionsHistoryFilter)e.Row;

            PXUIFieldAttribute.SetEnabled <CCTransactionsHistoryFilter.cardNumber>(sender, e.Row, row.CardSearchType == CardSearchOption.FullNumber);
            PXUIFieldAttribute.SetEnabled <CCTransactionsHistoryFilter.partialCardNumber>(sender, e.Row, row.CardSearchType == CardSearchOption.PartialNumber);

            PXUIFieldAttribute.SetVisible <CCTransactionsHistoryFilter.cardNumber>(sender, e.Row, row.CardSearchType == CardSearchOption.FullNumber);
            PXUIFieldAttribute.SetVisible <CCTransactionsHistoryFilter.partialCardNumber>(sender, e.Row, row.CardSearchType == CardSearchOption.PartialNumber);

            PXUIFieldAttribute.SetEnabled <CCTransactionsHistoryFilter.partialCardNumber>(sender, e.Row, !string.IsNullOrEmpty(row.PaymentMethodID));
            PXUIFieldAttribute.SetEnabled <CCTransactionsHistoryFilter.pMInstanceID>(sender, e.Row, !string.IsNullOrEmpty(row.PaymentMethodID));
            PXUIFieldAttribute.SetEnabled <CCTransactionsHistoryFilter.nameOnCard>(sender, e.Row, !string.IsNullOrEmpty(row.PaymentMethodID));
        }