Пример #1
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));
        }
Пример #2
0
 public AppartamentSpecification(BuildingSpecParams buildingSpecParams)
     : base(ap => ap.UserAppartaments.Count == 0)
 {
     AddInclude(x => x.UserAppartaments);
     ApplyPaging(buildingSpecParams.PageSize * (buildingSpecParams.PageIndex - 1), buildingSpecParams.PageSize);
 }
Пример #3
0
 public async Task <ActionResult <Pagination <AppartamentViewDto> > > GetAppartaments([FromQuery] BuildingSpecParams buildingSpec)
 {
     return(Ok(await _buildingPresentation.GetAppartaments(buildingSpec)));
 }