public void SearchByCondition() { var manager = AppManager.GetServiceFromRoot <IFollowUpManager>(); var queryDto = new FollowUpQueryDto() { PageIndex = 1, PageSize = 10 }; "跟进查询-无查询条件,有匹配记录".Test(() => { var result = manager.Search(queryDto); Assert.IsTrue(result != null && result.Count > 0); }); "跟进查询-全部查询条件,无匹配记录".Test(() => { queryDto.FollowUpID = int.MaxValue; queryDto.StartTime = "2000-01-01"; queryDto.EndTime = "2000-01-01"; queryDto.Keyword = "xxxxx"; queryDto.DictItemCode = "xxxxx"; var result = manager.Search(queryDto); Assert.IsTrue(result == null || result.Count == 0); }); }
/// <summary> /// 查询跟进信息,根据查询条件 /// </summary> /// <param name="queryDto">查询条件</param> /// <returns></returns> public PagedList <FollowUpInfoDto> Search(FollowUpQueryDto queryDto) { var query = from followUp in db.FollowUpQuery join user in db.UsersQuery on followUp.CreateUserID equals user.Id into a from user in a.DefaultIfEmpty() join userUpdate in db.UsersQuery on followUp.UpdateUserID equals userUpdate.Id into b from userUpdate in b.DefaultIfEmpty() orderby followUp.CreateTime descending select new { followUp, extInfo = new { CreateUserName = user.UserName, UpdateUserName = userUpdate.UserName } }; if (queryDto.FollowUpID > 0) { query = query.Where(x => x.followUp.FollowUpID == queryDto.FollowUpID); } if (app.User?.UserID > 0) { // 通过上下文获取当前用户信息 } var list = query.GetPagedList(queryDto.PageIndex, queryDto.PageSize); var data = new PagedList <FollowUpInfoDto>(list.CurrentPageIndex, list.PageSize, list.TotalItemCount); list.ForEach(item => data.Add(ToDto(item.followUp, item.extInfo))); return(data); }