示例#1
0
        public async Task <IReadOnlyList <AppartamentViewDto> > GetRandomAppartament()
        {
            CountFreeAppartamentSpecification countSpec = new CountFreeAppartamentSpecification();
            int totalCount = await _appartamentRepo.CountAsync(countSpec);

            RandomAppartamentsSpecification appartamentsSpecification = new RandomAppartamentsSpecification(totalCount);
            IReadOnlyList <Appartament>     appartaments = await _appartamentRepo.ListAsync(appartamentsSpecification);

            return(_mapper.Map <IReadOnlyList <Appartament>, IReadOnlyList <AppartamentViewDto> >(appartaments));
        }
示例#2
0
        public async Task <Pagination <AppartamentViewDto> > GetAppartaments(BuildingSpecParams buildingSpecParams)
        {
            AppartamentSpecification          spec      = new AppartamentSpecification(buildingSpecParams);
            CountFreeAppartamentSpecification countSpec = new CountFreeAppartamentSpecification();

            IReadOnlyList <Appartament> appartaments = await _appartamentRepo.ListAsync(spec);

            IReadOnlyList <AppartamentViewDto> data =
                _mapper.Map <IReadOnlyList <Appartament>, IReadOnlyList <AppartamentViewDto> >(appartaments);

            int totalCount = await _appartamentRepo.CountAsync(countSpec);

            return(new Pagination <AppartamentViewDto>(buildingSpecParams.PageIndex, buildingSpecParams.PageSize, totalCount, data));
        }