Util6 MIS 框架系统采用的Asp.Net MVC5模式开发,所用的模板引擎为Razor引擎,而Razor标记中就是原生的C#代码,所以在前端UI中编写模板就没有必要使用第三方或自创的标记语言,配合Util.Mapping可以非常轻松制作一个漂亮且功能强大的前端模板了。
//根据员工ID获取员工实体对象(注意Query方法中只能用普通变量,不能用对象属性或复杂语句)
//单条件查询----------------------
var empID = int.Parse(Request.Form["empID"]);
var empList1 = new OasEmployee().Query().ToList();
//查找性别为男的员工前10条记录
var empList2= new OasEmployee().Query(m => m.Sex == 1).ToList(10);
//查找性别为男的员工真名包含“中”字的列表
var empList3= new OasEmployee().Query(m => m.Sex == 1 && m.RealName.Contains("中"))
.ToList();
//查找性别为男的员工真名左包含“李”字的列表
var empList4= new OasEmployee().Query(m => m.Sex == 1 && m.RealName.StartsWith("李"))
.ToList();
//查找性别为男的员工按ID升序的列表
var empList5= new OasEmployee().Query(m => m.Sex == 1).SortAsc(m => m.ID).ToList();
//查找性别为男的员工先按ID升序再按状态降序的列表
var empList6= new OasEmployee().Query(m => m.Sex == 1).SortAsc(m => m.ID)
.SortDesc(m => m.Status).ToList();
//查找性别为男的员工按ID升序的列表总数
var empCount= new OasEmployee().Query(m => m.Sex == 1).ToCount();
//查找编号为empID的员工的真名
var empName1 = new OasEmployee().Query(m => m.ID == empID).ToValue(m=>m.RealName);
//查找用户编号最大值的员工的用户编号
var empName2 = new OasEmployee().Query().ToMax(m=>m.UserID);
//更多特殊查询可以自定义查询条件
//多条件查询----------------------
var mapper = new OasEmployee().Query();
if (model.ID > 0)
{
mapper.And(m=>m.ID == model.ID);
}
if (!string.IsNullOrWhiteSpace(model.RealName))
{
mapper.And(m=>m.RealName.StartsWith(model.RealName));
}
if (!string.IsNullOrWhiteSpace(model.LookAction))
{
var idList = new OasFlowProcess().Query(m => m.EmployeeID == empID && m.Status == 0)
.ToValueList(k => k.ItemID).Select(m=> int.Parse(m)).Distinct().ToList();
mapper.And(m=>idList.Contains(m.ID));
}
//分页返回列表----------------------
var pageSize = 50;
var currPage = string.IsNullOrWhiteSpace(Request.Form["CurrPage"])
?1:int.Parse(Request.Form["CurrPage"]);
var recordCount = mapper.ToCount();
var itemList = mapper.SortDesc(m => m.DatCreate).ToList(pageSize, currPage, recordCount);