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)); }
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)); }