Beispiel #1
0
 private void AddToDictionary(NameAndValue nameAndValue)
 {
     if (!MemberValues.ContainsKey(nameAndValue.Name))
     {
         MemberValues.Add(nameAndValue.Name, nameAndValue.Value);
     }
 }
Beispiel #2
0
        /// <summary>
        /// 配置名称的前缀,将根据前缀从 配置文件 (app.config,web.config)
        ///  或者 List&lt;NameAndValue&gt; 去寻找对应的名称来配置值;
        /// </summary>
        public WechatConfig(string prefix, List <INameAndValue> configList)
        {
            Name           = prefix;
            Token          = NameAndValue.GetValueFromConfig(prefix + ".token", configList);
            EncodingAesKey = NameAndValue.GetValueFromConfig(prefix + ".encodingAesKey", configList);
            AppId          = NameAndValue.GetValueFromConfig(prefix + ".appId", configList);
            AppSecret      = NameAndValue.GetValueFromConfig(prefix + ".appSecret", configList);
            MchId          = NameAndValue.GetValueFromConfig(prefix + ".mchId", configList);
            TenPayNotify   = NameAndValue.GetValueFromConfig(prefix + ".tenPayNotify", configList);
            var contentAndModify = AppDomainUtil.GetMapPathContentAndLastModifyTime("/bin/" + prefix + ".menuDefine");

            if (contentAndModify != null)
            {
                MenuDefine = Newtonsoft.Json.JsonConvert.DeserializeObject <ButtonGroup>(contentAndModify.Content);
                MenuDefineModifyDateTime = contentAndModify.LastModifyDatetime;
            }
        }
Beispiel #3
0
        public XmlMemberSearcher(string xml)
        {
            //XmlDocument xmlDoc = new XmlDocument();
            //xmlDoc.LoadXml(xml);

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(xml);

            HtmlNodeCollection members = doc.DocumentNode.SelectNodes("//member");

            foreach (HtmlNode member in members)
            {
                //Console.WriteLine("");
                //Console.WriteLine(member.Name);
                //Console.WriteLine("----");

                NameAndValue nameAndValue = new NameAndValue();

                foreach (HtmlNode node in member.ChildNodes)
                {
                    //Console.WriteLine(node.Name + " --- " + node.InnerText);

                    if (node.Name == "name")
                    {
                        nameAndValue.Name = node.InnerText;
                    }

                    if (node.Name == "value")
                    {
                        nameAndValue.Value = node.InnerText;
                        AddToDictionary(nameAndValue);
                    }
                }

                //Console.WriteLine("----");
            }

            //DebugDictionary();
        }
Beispiel #4
0
 public Matcher(NameAndValue nameAndValueTest)
 {
     this.nameAndValueTest = nameAndValueTest;
 }
Beispiel #5
0
        public T ReqXMLToModel <T>(T t, string strSigleNode, string strReqContent)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(strReqContent);
            Type target = t.GetType();

            #region SetParentValue
            List <NameAndValue> lstAttr = new List <NameAndValue>();
            XmlNode             node    = doc.SelectSingleNode("//Message");
            for (int i = 0; i < node.Attributes.Count; i++)
            {
                string       strName = node.Attributes[i].Name;
                NameAndValue nv      = new NameAndValue();
                nv.Name  = strName;
                nv.Value = node.Attributes[strName].Value;
                lstAttr.Add(nv);
            }

            XmlNodeList nodeList = node.ChildNodes;

            for (int i = 0; i < nodeList.Count; i++)
            {
                for (int j = 0; j < nodeList[i].Attributes.Count; j++)
                {
                    string       strName = nodeList[i].Attributes[j].Name;
                    NameAndValue nv      = new NameAndValue();
                    nv.Name  = strName;
                    nv.Value = nodeList[i].Attributes[strName].Value;
                    lstAttr.Add(nv);
                }
            }

            foreach (var v in lstAttr)
            {
                PropertyInfo targetPP = target.GetProperty(v.Name);
                object       objValue = v.Value;
                if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false)
                {
                    targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null);
                }
            }
            #endregion

            XmlNode     subNode      = doc.SelectSingleNode("//" + strSigleNode);
            XmlNodeList nodes_Result = subNode.ChildNodes;
            if (nodes_Result.Count > 0)
            {
                //XmlNodeList subs = nodes[0].ChildNodes;
                foreach (XmlNode v in nodes_Result)
                {
                    PropertyInfo targetPP = target.GetProperty(v.Name);
                    object       objValue = v.InnerText;
                    if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false)
                    {
                        targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null);
                    }
                }
            }

            return(t);
        }
Beispiel #6
0
        public T RespSetModelValue <T>(T t, string strType, string strContent)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(strContent);

            List <NameAndValue> lstAttr = new List <NameAndValue>();
            XmlNode             node    = doc.SelectSingleNode("//Message");

            for (int i = 0; i < node.Attributes.Count; i++)
            {
                string       strName = node.Attributes[i].Name;
                NameAndValue nv      = new NameAndValue();
                nv.Name  = strName;
                nv.Value = node.Attributes[strName].Value;
                lstAttr.Add(nv);
            }

            XmlNodeList nodeList = node.ChildNodes;

            for (int i = 0; i < nodeList.Count; i++)
            {
                for (int j = 0; j < nodeList[i].Attributes.Count; j++)
                {
                    string       strName = nodeList[i].Attributes[j].Name;
                    NameAndValue nv      = new NameAndValue();
                    nv.Name  = strName;
                    nv.Value = nodeList[i].Attributes[strName].Value;
                    lstAttr.Add(nv);
                }
            }

            XmlNode subNote = doc.SelectSingleNode("//" + strType);

            XmlNodeList subNodeList = subNote.ChildNodes;

            for (int i = 0; i < subNodeList.Count; i++)
            {
                string       strName = subNodeList[i].Name;
                NameAndValue nv      = new NameAndValue();
                nv.Name  = strName;
                nv.Value = subNodeList[i].InnerText;
                lstAttr.Add(nv);
            }

            PropertyInfo[] pps    = GetPropertyInfos(t.GetType().BaseType);
            Type           target = t.GetType();

            foreach (var v in lstAttr)
            {
                PropertyInfo targetPP = target.GetProperty(v.Name);
                object       objValue = v.Value;
                if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false)
                {
                    targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null);
                }
            }


            return(t);
        }
Beispiel #7
0
 public Matcher(NameAndValue nameAndValueTest)
 {
     this.nameAndValueTest = nameAndValueTest;
 }
Beispiel #8
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="prefix"></param>
 /// <param name="configList"></param>
 public WechatWorkConfig(string prefix, List <INameAndValue> configList)
     : base(prefix, configList)
 {
     CorpId = NameAndValue.GetValueFromConfig(prefix + ".corpId", configList);
 }