Exemple #1
0
        /// <summary>
        /// 填充对象列表:用DataTable填充实体类
        /// </summary>
        public static List <N> FillModel <N>(DataTable dt)
        {
            if (dt == null || dt.Rows.Count == 0)
            {
                return(null);
            }
            List <N> modelList = new List <N>();

            foreach (DataRow dr in dt.Rows)
            {
                N model = (N)Activator.CreateInstance(typeof(N));
                //  N model = (N)Activator.CreateInstance();
                for (int i = 0; i < dr.Table.Columns.Count; i++)
                {
                    PropertyInfo propertyInfo = model.GetType().GetProperty(dr.Table.Columns[i].ColumnName);
                    if (propertyInfo != null && dr[i] != DBNull.Value)
                    {
                        propertyInfo.SetValue(model, NTool.HConvertByType(dr[i].ToString(), propertyInfo.PropertyType), null);
                    }
                }

                modelList.Add(model);
            }
            return(modelList);
        }
Exemple #2
0
        public string JsonNoLevel(T _chlidModel, SetDelegateResult setMothod, SetProcessResult SetP, List <T> _menu, int?Row, int Layer, int Level)
        {
            StringBuilder sbStr = new StringBuilder();

            List <T> __chlidList = NTool.SelectListData <T>
                                       (_menu, (Predicate <T>)SetP(_chlidModel, _oldValue, _menu, Layer, Level));

            sbStr.Append(setMothod(_menu, _chlidModel, __chlidList != null ? __chlidList.Count : 0, Layer, Level));

            if (NTool.IsLtNULL <T>(_menu))
            {
                {
                    if (NTool.IsLtNULL <T>(__chlidList))
                    {
                        Level++;
                        int CwGo = 0;

                        //二级
                        sbStr.Append(",\"children\":[  ");

                        foreach (T chlidModel in __chlidList)
                        {
                            CwGo++;
                            if (CwGo == 1)
                            {
                                sbStr.Append("{");
                            }
                            else
                            {
                                sbStr.Append(",{");
                            }

                            _oldValue = chlidModel;

                            string lastStr = JsonNoLevel(chlidModel, setMothod, SetP, _menu, -1, Layer, Level);

                            sbStr.Append(lastStr);
                            sbStr.Append("} ");
                        }

                        sbStr.Append("] ");
                    }
                }
            }

            return(sbStr + "");
        }
Exemple #3
0
        public static void SetModelFieldVal(PropertyInfo[] pi, ref Object obj, string keyPostOrGet, string val)
        {
            List <PropertyInfo> kvp = pi.Where(a => a.Name.ToLower().Trim().Equals(keyPostOrGet.ToLower().Trim())).Skip(0).Take(1).ToList();

            if (kvp != null && kvp.Count > 0)
            {
                Type tp = kvp[0].PropertyType;

                if (string.IsNullOrEmpty(val))
                {
                    return;
                }

                object _o = NTool.HConvertByType(val, tp);

                kvp[0].SetValue(obj, _o, null);
            }
        }
Exemple #4
0
        public string JsonNoLevel(SetDelegateResult setMothod, SetProcessResult SetP, List <T> _menu)
        {
            StringBuilder sbStr = new StringBuilder();

            sbStr.Append("[");

            if (NTool.IsLtNULL <T>(_menu))
            {
                List <T> _listFirst = NTool.SelectListData <T>(_menu, (Predicate <T>)SetP(default(T), default(T), _menu, -1, -1));

                if (NTool.IsLtNULL <T>(_listFirst))
                {
                    int l1 = 0;

                    foreach (T _chlidModel in _listFirst)
                    {
                        //一级

                        l1++;
                        if (l1 == 1)
                        {
                            sbStr.Append("{");
                        }
                        else
                        {
                            sbStr.Append(",{");
                        }
                        // Level = l1;

                        Level = 2;

                        Layer++;

                        sbStr.Append(JsonNoLevel(_chlidModel, setMothod, SetP, _menu, -1, Layer, Level));

                        sbStr.Append("} ");
                    }
                }
            }

            sbStr.Append(" ] ");

            return(sbStr.ToString());
        }
Exemple #5
0
        public static string JsonStr(bool isAddEnd = false, params string[] str)
        {
            StringBuilder _str = new StringBuilder();

            //  ("\"id\":\"{0}\",\"text\":\"{1}\",\"iconCls\":\"icon-add\"", _chlidModel.ID, _chlidModel.Name);

            if (NTool.IsArrNULL <string>(str) && str.Length < 5000)
            {
                if (isAddEnd)
                {
                    _str.Append("{");
                }
                string key = "", val = "";
                for (int i = 1; i <= str.Length; i++)
                {
                    //双数

                    if (i % 2 == 0)
                    {
                        val = "" + str[i - 1];

                        if (i >= str.Length)
                        {
                            _str.AppendFormat("\"{0}\":\"{1}\"", key, val);
                        }
                        else
                        {
                            _str.AppendFormat("\"{0}\":\"{1}\",", key, val);
                        }
                    }
                    else
                    {
                        key = "" + str[i - 1];
                    }
                }
                if (isAddEnd)
                {
                    _str.Append("} ");
                }
            }

            return(_str.ToString());
        }
Exemple #6
0
        public static bool ModelSetVal <T>(ref T modelVal, Dictionary <string, string> vl)
        {
            if (!IsDcNULL <string, string>(vl))
            {
                return(false);
            }

            Type   type = typeof(T);
            object obj  = type.Assembly.CreateInstance(type.FullName);

            foreach (PropertyInfo pi in obj.GetType().GetProperties())
            {
                string val  = "";
                string name = "";
                try
                {
                    KeyValuePair <string, string> kvp =

                        (KeyValuePair <string, string>)vl.Where(a => a.Key.ToLower().Trim().Equals(pi.Name.ToLower().Trim())).Skip(0).Take(1).
                        FirstOrDefault();

                    val  = kvp.Value + "";
                    name = "" + pi.Name;
                }
                catch (Exception ex)
                {
                }
                Type tp = pi.PropertyType;

                if (string.IsNullOrEmpty(val))
                {
                    continue;
                }

                object _o = NTool.HConvertByType(val, tp);

                pi.SetValue(obj, _o, null);
            }

            modelVal = (T)obj;

            return(true);
        }
Exemple #7
0
        public static string GetDictionaryString(NModel.EnObject.EDisplayType eDisplayType, Dictionary <string, string> dc, int maxShow)
        {
            string takeStr = "";

            if (!NTool.IsDcNULL <string, string>(dc))
            {
                return("暂时没有数据");
            }

            if (maxShow < dc.Count)
            {
                return("超出长度:" + dc.Count + "个");
            }

            StringBuilder str = new StringBuilder();

            switch (eDisplayType)
            {
            case NModel.EnObject.EDisplayType.eJson:

                str.Append("{");
                int count = 0;
                foreach (KeyValuePair <string, string> kpr in dc)
                {
                    count++;

                    if (dc.Count <= count)
                    {
                        str.AppendFormat("\"{0}\":\"{1}\"", kpr.Key, kpr.Value);
                    }
                    else
                    {
                        str.AppendFormat("\"{0}\":\"{1}\",", kpr.Key, kpr.Value);
                    }
                }

                str.Append("}");

                takeStr = str.ToString();

                break;

            case NModel.EnObject.EDisplayType.eText:

                break;

            case NModel.EnObject.EDisplayType.eHtml:

                break;

            case NModel.EnObject.EDisplayType.eJs:

                break;

            case NModel.EnObject.EDisplayType.eXml:

                break;

            case NModel.EnObject.EDisplayType.eCss:

                break;

            default:
                break;
            }

            return(takeStr);
        }