public PagedListSieve <ChannelEnterpriseInfo> GetAllChannelsEnterprise(SieveModel sieveModel) { var entityFilter = _unitOfWork.AdministrationSwitchProceduresRepository.GetAllChannelEnterprise(); var page = sieveModel?.Page ?? 1; var pageSize = sieveModel?.PageSize ?? 10; if (sieveModel != null) { // apply pagination in a later step entityFilter = _sieveProcessor.Apply(sieveModel, entityFilter, applyPagination: false); } var pagedPosts = PagedListSieve <ChannelEnterpriseInfo> .CreateFromQuerable(entityFilter, page, pageSize); return(pagedPosts); }
public IActionResult GetAllChannelsEnterprise(SieveModel sieveModel) { _channelEnterpriseService.SieveProcessor = _sieveProcessor; PagedListSieve <ChannelEnterpriseInfo> entity = _channelEnterpriseService.GetAllChannelsEnterprise(sieveModel); IEnumerable <ChannelEnterpriseInfoDTO> entityDTO = _mapper.Map <IEnumerable <ChannelEnterpriseInfoDTO> >(entity); Metadata metadata = new Metadata { TotalCount = entity.TotalCount, PageSize = entity.PageSize, CurrentPage = entity.CurrentPage, TotalPages = entity.TotalPages, HasNextPage = entity.HasNextPage, HasPreviousPage = entity.HasPreviousPage, }; ApiResponse <IEnumerable <ChannelEnterpriseInfoDTO> > response = new ApiResponse <IEnumerable <ChannelEnterpriseInfoDTO> >(entityDTO) { Meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }