| 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 | 
|   | 
|     } | 
| } |