public IPaymentProvider Get(PaymentProviderType providerType) { if (_allProviders.ContainsKey(providerType)) { return(_allProviders[providerType]); } else { throw new NotSupportedException("Missing setting for provider " + providerType.ToString()); } }
private static List <PaymentProviderSetting> GetAllProvidersFromDB(bool activeList) { List <PaymentProviderSetting> providerList = new List <PaymentProviderSetting>(); using (SqlDataReader reader = GetAllProviders(activeList)) { while (reader.Read()) { PaymentProviderType type = PaymentProviderType.EPayAccount; if (System.Enum.TryParse <PaymentProviderType>(reader["ProviderName"].ToString(), out type)) { PaymentProviderSetting item = new PaymentProviderSetting(); item.ProviderID = (int)reader["ProviderId"]; item.ProviderType = type; item.Title = type.ToString(); item.ProviderXML = reader["ProviderXml"].ToString(); item.Active = Convert.ToBoolean(reader["Active"]); item.IsDefault = Convert.ToBoolean(reader["IsDefault"]); providerList.Add(item); } } } return(providerList); }
protected override bool OnDeserializeUnrecognizedElement(string elementName, XmlReader reader) { if (elementName.ToLower() == "providers") { Providers = new List <PaymentProviderSetting>(); while (reader.Read() && reader.Name != "providers") { if (reader.Name.ToLower() == "add" && reader.NodeType == XmlNodeType.Element) { PaymentProviderSetting setting = new PaymentProviderSetting(); PaymentProviderType type = PaymentProviderType.EPayAccount; if (Enum.TryParse <PaymentProviderType>(reader.GetAttribute("name"), out type)) { setting.ProviderType = type; setting.Title = type.ToString(); setting.Active = true; setting.ProviderXML = reader.ReadOuterXml(); if (setting.ProviderType.ToString().ToLower() == DefaultProviderName.ToLower()) { setting.IsDefault = true; } Providers.Add(setting); } else { throw new ConfigurationErrorsException("Unknown provider configuration. Provider Name: " + reader.GetAttribute("name") + ", Please check the file.", reader); } } } return(true); } else { return(base.OnDeserializeUnrecognizedElement(elementName, reader)); } }
public static IPaymentProvider CreateProvider(PaymentProviderType type, string providerXML) { IPaymentProvider provider = null; switch (type) { case PaymentProviderType.EPayAccount: provider = new ePayAccount(); break; case PaymentProviderType.NationalBankcardSystem: provider = new NationalBankcardAccount(); break; case PaymentProviderType.AuthorizeNetAccount: provider = new AuthorizeNetAccount(); break; case PaymentProviderType.USAePayAccount: provider = new USAePayAccount(); break; case PaymentProviderType.LitleCorpAccount: provider = new LitleCorpAccountAccount(); break; case PaymentProviderType.PayPalProFlowAccount: provider = new PayPalProFlowAccount(); break; case PaymentProviderType.OrbitalChasePaymentechAccount: provider = new OrbitalChasePaymentechAccount(); break; case PaymentProviderType.PayPalAdaptivePayment: provider = new PayPalAdaptivePaymentAccount(); break; case PaymentProviderType.PayPalExpressCheckout: provider = new PayPalExpressCheckoutAccount(); break; case PaymentProviderType.PayPalDirectPayment: provider = new PayPalDirectPayment(); break; case PaymentProviderType.DataPakAccount: provider = new DataPakAccount(); break; case PaymentProviderType.PaymentX: provider = new PaymentX(); break; case PaymentProviderType.Cielo: provider = new Cielo(); break; default: break; } if (provider == null) { throw new ApplicationException("Provider " + type.ToString() + " is not implemented"); } provider.Initialize(XElement.Parse(providerXML)); return(provider); }