public ApiPagingListResponse <WorkTaskModel> SearcWorkTasks(SearchWorkTaskModel search, int pageIndex = 0, int pageSize = 25) { //查询满足条件的图书 var query = this.WorkTaskService.SearchByCriteria(search, pageIndex, pageSize); //查询结果 var result = new PaginationModel <WorkTaskModel>(); result.Result = query.Result; //分页 result.Page = new Page() { PageIndex = query.PageIndex, PageSize = query.PageSize, TotalPages = query.TotalPages, TotalCount = query.TotalCount }; return(new ApiPagingListResponse <WorkTaskModel> { Result = query.Result, Page = result.Page }); }
/// <summary> /// 分页条件查询工作任务 /// </summary> /// <param name="search">查询条件</param> /// <param name="pageIndex">页码</param> /// <param name="pageSize">页大小</param> /// <returns>满足条件的工作任务</returns> public IPagedList <WorkTaskModel> SearchByCriteria(SearchWorkTaskModel search, int pageIndex, int pageSize) { using (var dbContext = new MissionskyOAEntities()) { var query = DoSearch(dbContext, search); //查询 var result = new List <WorkTaskModel>(); query.ToList().ForEach(entity => result.Add(DoFill(entity.ToModel()))); return(new PagedList <WorkTaskModel>(result, pageIndex, pageSize)); } }
/// <summary> /// 查询工作任务 /// </summary> /// <param name="dbContext">数据库上下文对象</param> /// <param name="search">查询条件</param> /// <returns>满足条件的工作任务</returns> private IEnumerable <WorkTask> DoSearch(MissionskyOAEntities dbContext, SearchWorkTaskModel search) { search = search ?? new SearchWorkTaskModel(); //状态查询 var query = dbContext.WorkTasks.Where( it => !search.Status.HasValue || search.Status.Value == WorkTaskStatus.Invalid || //查询所有 it.Status == (int)search.Status.Value); //查询指定状态 query = query.Where(it => !search.Sponsor.HasValue || search.Sponsor == 0 || it.Sponsor == search.Sponsor.Value); //指定发起人 query = query.Where(it => !search.Executor.HasValue || search.Executor == 0 || it.Sponsor == search.Executor.Value); //指定执行人 query = query.Where(it => !search.Supervisor.HasValue || search.Supervisor == 0 || it.Supervisor == search.Supervisor.Value); //指定监督人 query = query.Where(it => !search.ProjectId.HasValue || search.ProjectId == 0 || it.ProjectId == search.ProjectId.Value); //项目Id查找 query = query.Where(it => !search.MeetingId.HasValue || search.MeetingId == 0 || it.MeetingId == search.MeetingId.Value); //会议Id查找 return(query); }