123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using System.Reflection;
- using SCC.Common;
- namespace SCC.Services
- {
- /// <summary>
- /// 基础服务
- /// </summary>
- public class BaseServices
- {
- /// <summary>
- /// 装箱单个数据对象
- /// </summary>
- /// <typeparam name="T">装箱对象</typeparam>
- /// <param name="dr">装箱数据行</param>
- /// <returns></returns>
- protected T LoadData<T>(DataRow dr)
- {
- if (dr == null) return default(T);
- var t = typeof(T);
- var obj = Activator.CreateInstance(t);
- var properts = t.GetProperties();
- foreach (var pi in properts)
- {
- if (!dr.Table.Columns.Contains(pi.Name)) continue;
- pi.SetValue(obj, CommonHelper.ChangeType(dr[pi.Name], pi.PropertyType), null);
- }
- return (T)obj;
- }
- /// <summary>
- /// 装箱列表数据对象
- /// </summary>
- /// <typeparam name="T">装箱对象</typeparam>
- /// <param name="dt">装箱数据来源表格</param>
- /// <returns></returns>
- protected List<T> LoadDataList<T>(DataTable dt)
- {
- List<T> result = new List<T>();
- var t = typeof(T);
- var properts = t.GetProperties();
- object obj;
- foreach (DataRow dr in dt.Rows)
- {
- obj = Activator.CreateInstance(t);
- foreach (var pi in properts)
- {
- if (!dt.Columns.Contains(pi.Name)) continue;
- pi.SetValue(obj, CommonHelper.ChangeType(dr[pi.Name], pi.PropertyType), null);
- }
- result.Add((T)obj);
- }
- return result;
- }
- }
- }
|