using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL.SuiteData;
using NHibernate.Criterion;
using Castle.ActiveRecord;
using System.Data ;
using System.Reflection;
using System.Collections;
namespace DAL.Business
{
public class friendOfZhangHui
{
/// <summary>
/// 排序后获取首行首列
/// </summary>
/// <returns></returns>
public DataTable getFRIENDOFZHANGHUI()
{
FRIENDOFZHANGHUI fz = FRIENDOFZHANGHUI .FindFirst(new Order[] { Order.Desc("FIRSTNAME") });
IList<FRIENDOFZHANGHUI> ifz=new List <FRIENDOFZHANGHUI>();
ifz.Add(fz);
Type tp = typeof(FRIENDOFZHANGHUI);
DataTable dt =createTable(ifz ,tp );
return dt;
}
public DataTable createTable(IList<FRIENDOFZHANGHUI> fz, Type tp)
{
PropertyInfo[] pinfo = tp.GetProperties();
DataTable dt = new DataTable();
for (int i = 0; i < pinfo.Length-1; i++)
{
string propertyType=pinfo [i].PropertyType .ToString ();
if (propertyType.Contains("System.Nullable"))
{
int left = propertyType.IndexOf('[') ;
int leng = propertyType.IndexOf(']') - left;
propertyType = propertyType.Substring(left+1, leng -1);
}
dt.Columns.Add(pinfo[i].Name, System.Type.GetType(propertyType));
}
getArray(fz, pinfo, dt);
return dt;
}
public void getArray(IList<FRIENDOFZHANGHUI> fz, PropertyInfo[] pinfo, DataTable dt)
{
DataRow dr;
foreach (FRIENDOFZHANGHUI foz in fz)
{
dr = dt.NewRow();
for (int i = 0; i < pinfo.Length - 1;i++ )
{
dr[i] = pinfo[i].GetValue(foz, null);
}
dt.Rows.Add(dr);
}
}
}
}