public static OutpayNotify CreateInstance(string name, NameValueCollection parameters) { if (string.IsNullOrEmpty(name)) { return(null); } object[] args = new object[1] { parameters }; OutpayPlugins outpayPlugins = OutpayPlugins.Instance(); Type plugin = outpayPlugins.GetPlugin("OutpayRequest", name); if (plugin == null) { return(null); } Type pluginWithNamespace = outpayPlugins.GetPluginWithNamespace("OutpayNotify", plugin.Namespace); if (pluginWithNamespace == null) { return(null); } return(Activator.CreateInstance(pluginWithNamespace, args) as OutpayNotify); }
public static OutpayPlugins Instance() { if (OutpayPlugins.instance == null) { lock (OutpayPlugins.LockHelper) { if (OutpayPlugins.instance == null) { OutpayPlugins.instance = new OutpayPlugins(); } } } OutpayPlugins.instance.VerifyIndex(); return(OutpayPlugins.instance); }
public static OutpayRequest CreateInstance(string name, string configXml, string[] outpayId, decimal[] amount, string[] userAccount, string[] realName, string[] openId, int[] userId, string[] desc, DateTime date, string showUrl, string returnUrl, string notifyUrl, string attach) { if (string.IsNullOrEmpty(name)) { return(null); } object[] args = new object[12] { outpayId, amount, userAccount, realName, openId, userId, desc, date, showUrl, returnUrl, notifyUrl, attach }; Type plugin = OutpayPlugins.Instance().GetPlugin("OutpayRequest", name); if (plugin == null) { return(null); } OutpayRequest outpayRequest = Activator.CreateInstance(plugin, args) as OutpayRequest; if (outpayRequest != null && !string.IsNullOrEmpty(configXml)) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.XmlResolver = null; xmlDocument.LoadXml(configXml); outpayRequest.InitConfig(xmlDocument.FirstChild); } return(outpayRequest); }