int total = 0;
//获取数据总数
total = result.Count();
//判断是否需要排序if (!string.IsNullOrEmpty(real.sortName) && (!real.sortType.ToLower().Equals("desc") || !real.sortType.ToLower().Equals("asc")))
{
//自定义接收数据实体类
List<Returnlist> infoList = result.Skip((real.pageIndex - 1) * real.pageSize).Take(real.pageSize).ToList();
infoList.Sort(
delegate (Returnlist info1, Returnlist info2)
{
Type t1 = info1.GetType();
Type t2 = info2.GetType();
PropertyInfo pro1 = t1.GetProperty(real.sortName);
PropertyInfo pro2 = t2.GetProperty(real.sortName);
string clType = pro1.PropertyType.ToString();
//判断类型为数字使用数字排序,其他使用string排序
if (clType == "System.Decimal" || clType == "System.Int" || clType == "System.Int32" || clType == "System.Int64" || clType == "System.Double")
{
decimal info1val = Convert.ToDecimal(pro1.GetValue(info1, null));
decimal info2val = Convert.ToDecimal(pro2.GetValue(info2, null));
return real.sortType.ToLower().Equals("asc") ?
info1val.CompareTo(info2val) :
info2val.CompareTo(info1val);
}
else
{
return real.sortType.ToLower().Equals("asc") ?
pro1.GetValue(info1, null).ToString().CompareTo(pro2.GetValue(info2, null).ToString()) :
pro2.GetValue(info2, null).ToString().CompareTo(pro1.GetValue(info1, null).ToString());
}
});
returnResult = new ReturnResult()
{
list = infoList,
total = total,
message = "成功"
};
}
else
{
returnResult = new ReturnResult()
{
list = result.Skip((real.pageIndex - 1) * real.pageSize).Take(real.pageSize).ToList(),
total = branchAL.Count(),
message = "成功"
};
}