コード例 #1
0
        protected IList <PaymentGateway> LoadGateways()
        {
            string    classId  = GetGiftCertPayGatewayId();
            ICriteria criteria = NHibernateHelper.CreateCriteria <PaymentGateway>();

            criteria.Add(Restrictions.Not(Restrictions.Eq("Name", "Gift Certificate Payment Provider")));
            criteria.Add(Restrictions.Not(Restrictions.Eq("ClassId", StringHelper.SafeSqlString((classId)))));
            List <PaymentGateway>  filteredGateways = new List <PaymentGateway>();
            IList <PaymentGateway> gateways         = PaymentGatewayDataSource.LoadAll();

            for (int i = gateways.Count - 1; i >= 0; i--)
            {
                if (gateways[i].Name.Equals("Gift Certificate Payment Provider"))
                {
                    continue;
                }
                if (gateways[i].ClassId.Equals(classId))
                {
                    continue;
                }

                filteredGateways.Add(gateways[i]);
            }

            return(filteredGateways);
        }
コード例 #2
0
        /// <summary>
        /// Homogenizes the list of items to the same concretee type
        /// for binding in the datagrid.
        /// </summary>
        /// <returns>List of gateway items</returns>
        private IList <GatewayItem> LoadGateways()
        {
            IList <PaymentGateway>   configuredGateways = PaymentGatewayDataSource.LoadAll();
            List <GatewayItem>       gatewayItems       = new List <GatewayItem>();
            IList <IPaymentProvider> providers          = PaymentProviderDataSource.GetProviders(true);
            string epayProviderClassId = Misc.GetClassId(typeof(CommerceBuilder.Payments.Providers.EPaymentIntegrator.EPayProvider));

            foreach (var provider in providers)
            {
                string classId = Misc.GetClassId(provider.GetType());

                // PROVIDER IS NOT CONFIGURED ALREADY, ALLOW MULTIPLE INSTANCES OF IBIZ PROVIDER
                if (!configuredGateways.Any(g => g.ClassId == classId) || classId == epayProviderClassId)
                {
                    gatewayItems.Add(new GatewayItem(Misc.GetClassId(provider.GetType()), provider.Name, provider.GetLogoUrl(Page.ClientScript), GetSupportedTransactions(provider)));
                }
            }
            return(gatewayItems);
        }