public async Task <IReadOnlyList <Brand> > GetBrandList(BrandSpecParams brandParams) { var spec = new BrandsSpecification(brandParams); var brands = await _unitOfWork.Repository <Brand>().GetListWithSpec(spec); return(brands); }
public async Task <int> GetTotalItems(BrandSpecParams brandParams) { var countSpec = new BrandsForCountSpecification(brandParams); var totalItems = await _unitOfWork.Repository <Brand>().Count(countSpec); return(totalItems); }
public async Task <ActionResult <Pagination <BrandDto> > > GetBrandList( [FromQuery] BrandSpecParams brandParams) { var brands = await _brandService.GetBrandList(brandParams); var totalItems = await _brandService.GetTotalItems(brandParams); var data = _mapper.Map <IReadOnlyList <Brand>, IReadOnlyList <BrandDto> >(brands); return(Ok(new Pagination <BrandDto>(brandParams.PageIndex, brandParams.PageSize, totalItems, data))); }