using System; 
 | 
using System.Collections.Generic; 
 | 
using System.Data; 
 | 
using System.Linq; 
 | 
using System.Reflection; 
 | 
using System.Web; 
 | 
using Newtonsoft.Json; 
 | 
  
 | 
namespace WebAPI.DbUntil 
 | 
{ 
 | 
    public class DataFormatUntil 
 | 
    { 
 | 
        /// <summary> 
 | 
        /// dataset转list 
 | 
        /// </summary> 
 | 
        /// <typeparam name="T"></typeparam> 
 | 
        /// <param name="entity"></param> 
 | 
        /// <param name="ds"></param> 
 | 
        /// <returns></returns> 
 | 
        public static List<T> PutAllVal<T>(T entity, DataSet ds) where T : new() 
 | 
        { 
 | 
             
 | 
            List<T> lists = new List<T>(); 
 | 
            if (ds.Tables[0].Rows.Count > 0) 
 | 
            { 
 | 
                foreach (DataRow row in ds.Tables[0].Rows) 
 | 
                { 
 | 
                    lists.Add(PutVal(new T(), row)); 
 | 
                } 
 | 
            } 
 | 
            return lists; 
 | 
        } 
 | 
        /// <summary> 
 | 
        /// datarow转model 
 | 
        /// </summary> 
 | 
        /// <typeparam name="T"></typeparam> 
 | 
        /// <param name="entity"></param> 
 | 
        /// <param name="row"></param> 
 | 
        /// <returns></returns> 
 | 
        public static T PutVal<T>(T entity, DataRow row) where T : new() 
 | 
        { 
 | 
            //初始化 如果为null 
 | 
            if (entity == null) 
 | 
            { 
 | 
                entity = new T(); 
 | 
            } 
 | 
            //得到类型 
 | 
            Type type = typeof(T); 
 | 
            //取得属性集合 
 | 
            PropertyInfo[] pi = type.GetProperties(); 
 | 
            foreach (PropertyInfo item in pi) 
 | 
            { 
 | 
                //给属性赋值 
 | 
                if (row[item.Name] != null && row[item.Name] != DBNull.Value) 
 | 
                { 
 | 
                    if (item.PropertyType == typeof(System.Nullable<System.DateTime>)) 
 | 
                    { 
 | 
                        item.SetValue(entity, Convert.ToDateTime(row[item.Name].ToString()), null); 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null); 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            return entity; 
 | 
        } 
 | 
  
 | 
        #region 返回sql影响行数 
 | 
        public static int BackRowCount(string sql,string tableName) 
 | 
        { 
 | 
            return new SQLHelper.ClsCN().RunProcReturn(sql, tableName).Tables[0].Rows.Count; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 返回sql返回的数据标题 
 | 
        public static List<object> BackColTitle(DataSet ds) 
 | 
        { 
 | 
            List<object> columnNameList = new List<object>(); 
 | 
            foreach (DataColumn col in ds.Tables[0].Columns) 
 | 
            { 
 | 
  
 | 
                Type dataType = col.DataType; 
 | 
                string ColmString = "{\"ColmName\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; 
 | 
                columnNameList.Add(JsonConvert.DeserializeObject(ColmString)); 
 | 
            } 
 | 
            return columnNameList; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
    } 
 | 
} 
 |