public async Task <PaginatedResponse <List <Cluster> > > GetClustersFiltered(FilterClustersDTO filterClustersDTO) { Console.WriteLine("TRACING!"); var httpResponse = await httpService.Post <FilterClustersDTO, List <Cluster> >($"{url}/filter", filterClustersDTO); var totalAmountPages = int.Parse(httpResponse.HttpResponseMessage.Headers.GetValues("totalAmountPages").FirstOrDefault()); var paginatedResponse = new PaginatedResponse <List <Cluster> >() { Response = httpResponse.Response, TotalAmountPages = totalAmountPages }; return(paginatedResponse); }
public async Task <ActionResult <List <Cluster> > > Filter(FilterClustersDTO filterClustersDTO) { var clustersQueryable = context.Clusters.AsQueryable(); if (!string.IsNullOrWhiteSpace(filterClustersDTO.Name)) { clustersQueryable = clustersQueryable.Where(x => x.Name.Contains(filterClustersDTO.Name)); } await HttpContext.InsertPaginationParametersInResponse(clustersQueryable, filterClustersDTO.RecordsPerPage); var clusters = await clustersQueryable.Paginate(filterClustersDTO.Pagination).ToListAsync(); return(clusters); }