コード例 #1
0
        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);
            });
        }
コード例 #2
0
ファイル: FollowUpManager.cs プロジェクト: jclown/test
        /// <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);
        }