分部类 添加字段操作

public List<TblAreaInfo> QueryAllList(string AreaCode, string AreaName, int pageIndex, int pageSize, out int totalCount)
{
List<TblAreaInfo> list = new List<TblAreaInfo>();
try
{
//查询所有主管
var areaZhuGuan = dataContext.TblLoginInfo.Where(item => item.intRoleId == 2);
//查询所有的经理
var areaJingLi = dataContext.TblLoginInfo.Where(item => item.intRoleId == 3);

//将经理和主管按照区域进行合并
var resultList = from zhuguan in areaZhuGuan
from jingli in areaJingLi
where zhuguan.intAreaId == jingli.intAreaId
where jingli.TblAreaInfo.chvAreaCode.Contains(AreaCode)
where jingli.TblAreaInfo.chvAreaName.Contains(AreaName)
select new
{
//因为主管和经理在where条件中已经进行合并处理:即:zhuguan和jingli是同一地区的,所以在查询区域信息的时候使用主管或经理都是一样的结果
AreaId = jingli.intAreaId,
chvAreaCode = jingli.TblAreaInfo.chvAreaCode,
chvAreaName = jingli.TblAreaInfo.chvAreaName,
directorName = zhuguan.chvUserName,
directorPhone = zhuguan.chvPhone,
RoleName = jingli.chvUserName,
RolePhone = jingli.chvPhone
};

//遍历每一条数据
resultList.ToList().ForEach(item =>
{
list.Add(new TblAreaInfo()
{
//给每一条合并后的数据赋值
IntAreaId = Convert.ToInt32(item.AreaId),
chvAreaCode = item.chvAreaCode,
chvAreaName = item.chvAreaName,
directorName = item.directorName,
directorPhone = item.directorPhone,
RoleName = item.RoleName,
RolePhone = item.RolePhone
});
});
//获取数据数量
totalCount = list.Count();

//Skip 制定列表中的元素,返回剩余的元素
list = list.Skip(pageIndex * pageSize).Take(pageSize).ToList();

//返回查询到得全部信息
return list;
}
catch (Exception e)
{
throw e;
}
}

posted on 2013-03-07 21:39  泡沫 ブ procedure゜  阅读(103)  评论(0编辑  收藏  举报

导航