示例#1
0
        /// <summary>
        /// 根据查询条件获取收藏分页列表
        /// </summary>
        public PagedResultDto <CollectionListDto> GetPagedCollections(GetCollectionInput input)
        {
            var query = from info in _collectionRepository.GetAll().WhereIf(input.BizType != null && input.BizType != string.Empty, t => t.BizType == input.BizType)
                        join courseInfo in _courseInfoAppService2.GetAll() on info.BizId equals courseInfo.Id
                        into all
                        from t in all
                        select new CollectionListDto()
            {
                Id         = info.Id,
                ImageUrl   = t.ImageUrl,
                BizId      = info.BizId,
                BizType    = info.BizType,
                BizName    = t.CourseName,
                Enrollment = t.Enrollment,
                TimeLength = t.TimeLength,
                TypeName   = t.TypeName
            };
            //TODO:根据传入的参数添加过滤条件
            var collectionCount = query.Count();

            var collections = query
                              .OrderBy(input.Sorting)
                              .PageBy(input)
                              .ToList();

            var collectionListDtos = collections.MapTo <List <CollectionListDto> >();

            return(new PagedResultDto <CollectionListDto>(
                       collectionCount,
                       collectionListDtos
                       ));
        }
示例#2
0
        public ListResultDto <CollectionListDto> GetCollection(GetCollectionInput input)
        {
            var Collection = _CollectionRepository.GetAll()

                             .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.CollectionCode.Contains(input.Filter) ||
                u.CollectionName.Contains(input.Filter) ||
                u.Id.ToString().Contains(input.Filter))
                             .ToList();

            return(new ListResultDto <CollectionListDto>(Collection.MapTo <List <CollectionListDto> >()));
        }
        public JsonResult CollectionList(GetCollectionInput input)
        {
            var collectionListDtos = collectionAppService.GetPagedCollections(input);

            return(Json(collectionListDtos, JsonRequestBehavior.AllowGet));
        }
示例#4
0
        /// <summary>
        /// 根据查询条件获取用户收藏分页列表
        /// </summary>
        public async Task <PagedResultDto <CollectionListDto> > GetPagedCollectionsAsync(GetCollectionInput input)
        {
            var moduleDto = new Module();

            if (input.ModuleId > 0)
            {
                moduleDto = _moduleRepository.GetAsync(input.ModuleId).Result;
                if (moduleDto == null)
                {
                    return(new PagedResultDto <CollectionListDto>(
                               0,
                               new List <CollectionListDto>()
                               ));
                }
            }
            var query = _collectionRepositoryAsNoTrack;

            query = query.WhereIf(input.UserId > 0, c => c.UserId == input.UserId)
                    .WhereIf(input.ModuleId > 0, c => c.ModuleId == input.ModuleId);

            switch (moduleDto.Name)
            {
            case "产品":
                query = query.Include(c => c.Product);
                break;

            case "企业":
                query = query.Include(c => c.Company);
                break;

            case "供应":
            case "求购":
                query = query.Include(c => c.Community);
                break;

            default:
                break;
            }


            //TODO:根据传入的参数添加过滤条件

            var collectionCount = await query.CountAsync();


            var collections = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

            var collectionListDtos = collections.MapTo <List <CollectionListDto> >();

            return(new PagedResultDto <CollectionListDto>(
                       collectionCount,
                       collectionListDtos
                       ));
        }