/// <summary>
        /// 读取XML参数
        /// </summary>
        /// <param name="Name">参数名</param>
        /// <param name="DefaultValue">默认值</param>
        /// <returns></returns>
        public object ViewGlobalSetting(String Name, object DefaultValue)
        {
            String o = String.Empty;

            if (!String.IsNullOrEmpty(Name) && GlobalValues != null && GlobalValues.Count > 0)
            {
                KeyValueEntity item = GlobalValues.Find(r1 => r1.Key == Name);
                if (item != null && item.Key == Name)
                {
                    o = item.Value.ToString();
                }
            }
            return(!String.IsNullOrEmpty(o) ? ConvertTo.FormatValue(o, DefaultValue.GetType()) : DefaultValue);
        }
Example #2
0
        public T ViewSetting <T>(String Name, T DefaultValue, List <KeyValueEntity> TabValues, List <SettingEntity> XmlSettings)
        {
            //取出所需要的值
            T o = DefaultValue;

            if (TabValues.Exists(r => r.Key == Name))
            {
                o = (T)ConvertTo.FormatValue(TabValues.Find(r => r.Key == Name).Value.ToString(), DefaultValue.GetType());
            }
            else if (XmlSettings.Exists(r => r.Name == Name))
            {
                o = (T)ConvertTo.FormatValue(XmlSettings.Find(r => r.Name == Name).DefaultValue, DefaultValue.GetType());
            }
            return(o);
        }
        /// <summary>
        /// 返回实体列表信息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public List <T> ToList <T>()
            where T : new()
        {
            List <T> list = new List <T>();

            if (_xmlDoc != null)
            {
                //找出对应路径下的节点,遍历节点
                XmlNodeList Nodelist = ToNodeList(typeof(T));
                if (Nodelist != null && Nodelist.Count > 0)
                {
                    Type           t         = typeof(T);
                    PropertyInfo[] Propertys = t.GetProperties();

                    //遍历节点
                    foreach (XmlNode node in Nodelist)
                    {
                        T       tItem  = new T();
                        Boolean isTrue = false;
                        //遍历字段
                        foreach (PropertyInfo Property in Propertys)
                        {
                            String ColumnName = Property.Name;
                            if (node[ColumnName] != null && !String.IsNullOrEmpty(node[ColumnName].InnerText.Trim()))
                            {
                                object o = ConvertTo.FormatValue(node[ColumnName].InnerText.Trim(), Type.GetType(Property.PropertyType.FullName));
                                t.GetProperty(ColumnName).SetValue(tItem, o, null);

                                isTrue = true;
                            }
                        }
                        //增加到列表
                        if (isTrue)
                        {
                            list.Add(tItem);
                        }
                    }
                }
            }

            return(list);
        }