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