Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
        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);
        }