public ActionResult VehicleIndexToSelect(int CompId = 0) { if (CompId == 0) { CompanyId = Convert.ToInt32(Session["CompanyId"]); } else { CompanyId = CompId; ViewBag.LayoutName = "~/Views/Shared/_layoutAdmin.cshtml"; } if (Request.IsAjaxRequest()) { VehicleViewModels = new List <VehicleViewModel>(); try { PagingParameterModel pagingParameterModel = new PagingParameterModel { CompanyId = CompanyId, }; var VehicleList = webServices.Post(pagingParameterModel, "Vehicle/All"); if (VehicleList.StatusCode == System.Net.HttpStatusCode.Accepted) { if (VehicleList.Data != "[]" && VehicleList.Data != null) { VehicleViewModels = (new JavaScriptSerializer().Deserialize <List <VehicleViewModel> >(VehicleList.Data.ToString())); } } if (VehicleViewModels == null || VehicleViewModels.Count < 1) { VehicleViewModel vehicleViewModel = new VehicleViewModel { Id = 0, TraficPlateNumber = "Select Vehicle" }; VehicleViewModels.Add(vehicleViewModel); } else { VehicleViewModels.Insert(0, new VehicleViewModel() { Id = 0, TraficPlateNumber = "Select Vehicle" }); } return(Json(VehicleViewModels, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { throw ex; } } else { return(View()); } }
// GET: Vender public ActionResult Index() { try { CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel { pageNumber = 1, CompanyId = CompanyId, PageSize = 100, }; var DriverList = webServices.Post(pagingParameterModel, "Vender/All"); if (DriverList.StatusCode == System.Net.HttpStatusCode.Accepted) { venderViewModels = (new JavaScriptSerializer().Deserialize <List <VenderViewModel> >(DriverList.Data.ToString())); } return(View(venderViewModels)); } catch (Exception ex) { throw ex; } }
public ActionResult Details(int id) { try { CompnayModel compnayModel = new CompnayModel(); PagingParameterModel pagingParameterModel = new PagingParameterModel { Id = id }; var companyData = webServices.Post(pagingParameterModel, "Company/CompanyById"); if (companyData.StatusCode == System.Net.HttpStatusCode.Accepted) { if (companyData.Data != "[]" && companyData.Data != null) { compnayModel = (new JavaScriptSerializer().Deserialize <CompnayModel>(companyData.Data.ToString())); } } if (Request.IsAjaxRequest()) { return(Json(compnayModel, JsonRequestBehavior.AllowGet)); } return(View(compnayModel)); } catch (Exception) { throw; } }
public async Task <HttpResponseMessage> Get(int pageNumber, int pageSize) { Dictionary <string, string> dict = new Dictionary <string, string>(); try { PagingParameterModel pagingModel = new PagingParameterModel() { pageNumber = pageNumber, pageSize = pageSize }; var products = _productRepository.GetProducts(pagingModel); if (products == null || products.Data.Count() == 0) { var showmessage = "Products not found."; dict.Add("Message", showmessage); return(Request.CreateResponse(HttpStatusCode.OK, dict)); } return(Request.CreateResponse(HttpStatusCode.OK, products)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public IHttpActionResult GetAllCustomer([FromUri] PagingParameterModel pagingparametermodel) { // Return List of Customer var source = (from prod in _customerService.GetAll(). OrderBy(a => a.Id) select prod).AsQueryable(); // -------------------------------- Search Parameter------------------- if (!string.IsNullOrEmpty(pagingparametermodel.QuerySearch)) { source = source.Where(a => a.Email.Contains(pagingparametermodel.QuerySearch)); } // ------------------------------------ Search Parameter------------------- // Get's No of Rows Count int count = source.Count(); // Parameter is passed from Query string if it is null then it default Value will be pageNumber:1 int CurrentPage = pagingparametermodel.pageNumber; // Parameter is passed from Query string if it is null then it default Value will be pageSize:20 int PageSize = pagingparametermodel.pageSize; // Display TotalCount to Records to User int TotalCount = count; // Calculating Totalpage by Dividing (No of Records / Pagesize) int TotalPages = (int)Math.Ceiling(count / (double)PageSize); // Returns List of Customer after applying Paging var items = source.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList(); // if CurrentPage is greater than 1 means it has previousPage var previousPage = CurrentPage > 1 ? "Yes" : "No"; // if TotalPages is greater than CurrentPage means it has nextPage var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; // Object which we are going to send in header var paginationMetadata = new { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage, QuerySearch = string.IsNullOrEmpty(pagingparametermodel.QuerySearch) ? "No Parameter Passed" : pagingparametermodel.QuerySearch }; // Setting Header HttpContext.Current.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); // Returing List of Customers Collections return(Ok(items)); }
public List <DriverViewModel> Drivers(int Id = 0) { if (Id > 0) { CompanyId = Id; } else { CompanyId = Convert.ToInt32(Session["CompanyId"]); } PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.CompanyId = CompanyId; pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 500; pagingParameterModel.PageSize = 500; var DriverList = webServices.Post(pagingParameterModel, "Driver/All"); if (DriverList.StatusCode == System.Net.HttpStatusCode.Accepted) { if (DriverList.Data != "[]") { driverViewModels = (new JavaScriptSerializer().Deserialize <List <DriverViewModel> >(DriverList.Data.ToString())); } driverViewModels.Insert(0, new DriverViewModel() { Id = 0, Name = "Select Driver" }); } return(driverViewModels); }
public async Task <IEnumerable <TitleLienResultItem> > GetItemsPagedAsync(PagingParameterModel model) { //defaulting to 10 for now var pagedItems = items.Skip((model.PageNumber - 1) * 10).Take(10).ToList(); return(await Task.FromResult(pagedItems)); }
public PagingViewModel <ConsumedProductResponse> GetConsumedProducts([FromQuery] PagingParameterModel paging) { // TODO: Write mappings. var consumedProducts = _consumedProductService.GetAll().Select(x => new ConsumedProductResponse { Id = x.Id, ProductId = x.ProductId, Timestamp = x.Timestamp, Weight = x.Weight, Product = new ProductViewModel { Id = x.ProductId, Calories = x.Product.Calories, Carbohydrates = x.Product.Carbohydrates, Description = x.Product.Description, Fat = x.Product.Fat, Name = x.Product.Name, Protein = x.Product.Protein } }) .Select(x => _mapper.Map <ConsumedProductResponse>(x)) .Skip(paging.Page * paging.ElementsPerPage).Take(paging.ElementsPerPage).ToImmutableArray(); return(new PagingViewModel <ConsumedProductResponse>(consumedProducts)); }
/** Option to search by Name * GET method * example URLs * http://localhost:64701/api/Employees?querySearch=steve * http://localhost:64701/api/Employees **/ public async Task <IHttpActionResult> GetEmployee([FromUri] PagingParameterModel pagingparametermodel) { // Parameter is passed from Query string if it is null then it default Value will be pageNumber:1 string SortOrder = pagingparametermodel.sortOrder; string ColumnName = "Name"; // can be set as parameter ... pagingparametermodel.columnName; string QuerySearchName = pagingparametermodel.querySearchName; var source = Enumerable.Empty <Employee>().AsQueryable(); source = db.Employees.AsEnumerable().AsQueryable(); if (!string.IsNullOrEmpty(pagingparametermodel.querySearch)) { var propertyQueryInfo = typeof(Employee).GetProperty(pagingparametermodel.querySearchName); source = (source.AsEnumerable().Where( a => propertyQueryInfo.GetValue(a, null).ToString().ToLower().Contains(pagingparametermodel.querySearch.ToLower()) )).AsQueryable(); } var items = source.ToList(); if (items.Count == 0) { return(NotFound()); } return(Ok(items)); }
public IEnumerable <Lot> GetFootwear(int nounId, [FromUri] PagingParameterModel pagingParameterModel) { var source = _lotRepo.GetFootwear(nounId); var items = GetPagedLots(source, pagingParameterModel); return(items); }
public async Task <IActionResult> GetPublishingQueueStatus([FromQuery] PagingParameterModel paging, bool unfinished) { Guid loggedOnUserId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "UserId").Value); Guid sessionId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "SessionId").Value); RServiceResult <bool> canViewAll = await _userPermissionChecker.Check ( loggedOnUserId, sessionId, RMuseumSecurableItem.AudioRecitationEntityShortName, RMuseumSecurableItem.ModerateOperationShortName ); if (!string.IsNullOrEmpty(canViewAll.ExceptionString)) { return(BadRequest(canViewAll.ExceptionString)); } var res = await _audioService.GetPublishingQueueStatus(paging, unfinished, canViewAll.Result?Guid.Empty : loggedOnUserId); if (!string.IsNullOrEmpty(res.ExceptionString)) { return(BadRequest(res.ExceptionString)); } // Paging Header HttpContext.Response.Headers.Add("paging-headers", JsonConvert.SerializeObject(res.Result.PagingMeta)); return(Ok(res.Result.Items)); }
public IEnumerable <Lot> GetClothes([FromUri] PagingParameterModel pagingParameterModel) { var source = _lotRepo.GetClothes(); var items = GetPagedLots(source, pagingParameterModel); return(items); }
public IEnumerable <Lot> GetLots(int genderId, [FromUri] PagingParameterModel pagingParameterModel) { var source = _lotRepo.GetLots(genderId); var items = GetPagedLots(source, pagingParameterModel); return(items); }
private IEnumerable <Lot> GetPagedLots(IEnumerable <Lot> source, [FromUri] PagingParameterModel pagingParameterModel) { int totalCount = source.Count(); int currentPage = pagingParameterModel.PageNumber; int pageSize = pagingParameterModel.PageSize; int totalPages = (int)Math.Ceiling(totalCount / (double)pageSize); var items = source.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(); var previousPage = currentPage > 1 ? "Yes" : "No"; var nextPage = currentPage < totalPages ? "Yes" : "No"; var paginationMetadata = new { totalCount = totalCount, pageSize = pageSize, currentPage = currentPage, totalPages = totalPages, previousPage, nextPage }; HttpContext.Current.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); return(items); }
public ActionResult DriverLoginHistoryAllForAdmin() { try { CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 1; pagingParameterModel.Id = CompanyId; pagingParameterModel.PageSize = 100; var DriverLoginList = webServices.Post(pagingParameterModel, "AWFDriver/DriverLoginHistoryAllForAdmin"); if (DriverLoginList.StatusCode == System.Net.HttpStatusCode.Accepted) { driverLoginHistoryViewModels = (new JavaScriptSerializer().Deserialize <List <DriverLoginHistoryViewModel> >(DriverLoginList.Data.ToString())); } return(View(driverLoginHistoryViewModels)); } catch (Exception ex) { throw ex; } }
public static PaginationResultSetModel PaginateForResult(PagingParameterModel pagingParameterModel, List <CharacterEpisodeDTO> input) { int count = input.Count(); int CurrentPage = pagingParameterModel.PageNumber; int PageSize = pagingParameterModel.PageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var elements = input.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList(); var PreviousPage = CurrentPage > 1 ? "Yes" : "No"; var NextPage = CurrentPage < TotalPages ? "Yes" : "No"; PaginationModel paginationMetadata = new PaginationModel { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage = PreviousPage, nextPage = NextPage }; PaginationResultSetModel output = new PaginationResultSetModel { paginationModel = paginationMetadata, items = elements }; return(output); }
public async Task <IEnumerable <BookDto> > GetAll(PagingParameterModel pagingParameterModel) { var orderBy = Helper.GetOrder <Book>(pagingParameterModel, x => { switch (x.Name) { case nameof(Book.Name): return(b => b.Name); case nameof(Book.Isbn): return(b => b.Isbn); case nameof(Book.Publisher): return(b => b.Publisher.Name); case nameof(Book.Count): return(b => b.Count.ToString()); default: return(null); } }); var books = await _unitOfWork.BookRepository.GetAllAsync(null, includeProperties : _allIncludes, orderBy : orderBy, skip : pagingParameterModel?.Skip ?? 0, take : pagingParameterModel?.Take); var booksDto = Mapper.Map <IEnumerable <Book>, Collection <BookDto> >(books); return(booksDto); }
public ActionResult DriverAllOnline(DriverViewModel driverViewModel) { try { CompanyId = Convert.ToInt32(Session["CompanyId"]); if (driverViewModel.Name == "Driver") { var DriverInfo = webServices.Post(new DriverViewModel(), "AWFDriver/DriverAllOnline/" + CompanyId); if (DriverInfo.StatusCode == System.Net.HttpStatusCode.Accepted) { var OnlineDriverList = (new JavaScriptSerializer().Deserialize <List <DriverViewModel> >(DriverInfo.Data.ToString())); OnlineDriverList.Insert(0, new DriverViewModel() { Id = 0, Name = "Select Driver" }); return(Json(OnlineDriverList, JsonRequestBehavior.AllowGet)); } } else { var siteViewModels = new List <SiteViewModel>(); CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel { pageNumber = 1, _pageSize = 1, CompanyId = CompanyId, PageSize = 100, }; var SiteList = webServices.Post(pagingParameterModel, "Site/All"); if (SiteList.StatusCode == System.Net.HttpStatusCode.Accepted) { siteViewModels = (new JavaScriptSerializer().Deserialize <List <SiteViewModel> >(SiteList.Data.ToString())); } siteViewModels.Insert(0, new SiteViewModel() { Id = 0, SiteName = "Select Site" }); var OnlineDriverList = new List <DriverViewModel>(); foreach (var item in siteViewModels) { OnlineDriverList.Add(new DriverViewModel() { Id = item.Id, Name = item.SiteName }); } return(Json(OnlineDriverList, JsonRequestBehavior.AllowGet)); } return(Json("failed", JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json("failed", JsonRequestBehavior.AllowGet)); } }
public List <SiteViewModel> SitesAll(int CompId) { try { List <SiteViewModel> siteViewModels = new List <SiteViewModel>(); PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 1; pagingParameterModel.CompanyId = CompId; pagingParameterModel.PageSize = 100; var SiteList = webServices.Post(pagingParameterModel, "CustomerSites/SiteAllCustomer"); if (SiteList.StatusCode == System.Net.HttpStatusCode.Accepted) { if (SiteList.Data != "[]") { siteViewModels = (new JavaScriptSerializer().Deserialize <List <SiteViewModel> >(SiteList.Data.ToString())); } } siteViewModels.Insert(0, new SiteViewModel() { Id = 0, SiteName = "Select site" }); return(siteViewModels); } catch (Exception) { throw; } }
public ActionResult Confirmation() { try { CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel { pageNumber = 1, CompanyId = CompanyId, PageSize = 10, }; var CustomerBookingList = webServices.Post(pagingParameterModel, "CustomerBooking/BookingConfirmationByCompany"); if (CustomerBookingList.StatusCode == System.Net.HttpStatusCode.Accepted) { customerBookingViewModels = (new JavaScriptSerializer().Deserialize <List <CustomerBookingViewModel> >(CustomerBookingList.Data.ToString())); } return(View(customerBookingViewModels)); } catch (Exception ex) { throw ex; } }
public IHttpActionResult GetPosts([FromUri] FlutterPostFilterModel filter, [FromUri] PagingParameterModel paging) { if (filter == null) { filter = new FlutterPostFilterModel(); } if (paging == null) { paging = new PagingParameterModel(); } var pagination = new PaginationMetadataModel() { currentPage = paging.pageNumber, pageSize = paging.pageSize }; var posts = _service.getPosts(filter, ref pagination); // Setting Header HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", "X-Paging-Headers"); HttpContext.Current.Response.Headers.Add("X-Paging-Headers", JsonConvert.SerializeObject(pagination)); return(Ok <List <FlutterPostCardModel> >(posts)); }
public IActionResult ListByPaging(int pageNumber, int pageSize) { try { var pagination = new PagingParameterModel() { pageNumber = pageNumber, pageSize = pageSize }; var articles = _articleService.GetArticleListByPaging(pagination); int leftOverArticlesCount = (_articleService.GetEntityCount() - articles.Count) - ((pageNumber - 1) * pageSize); var model = new ListViewModel() { Articles = articles.ToList(), LeftOverCount = leftOverArticlesCount, Pagination = pagination }; model.MapViewModel = new MapViewModel() { items = new List <string>() { "خانه", "مقالات", "لیست مقالات" } }; return(View(model)); } catch (Exception e) { var model = new ListViewModel(); model.MessageViewModel.Errors.Add(e.Message); return(View(model)); } }
public ActionResult Index() { try { CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 1; pagingParameterModel.CompanyId = CompanyId; pagingParameterModel.PageSize = 100; var SiteList = webServices.Post(new LPOInvoiceViewModel(), "Quotation/All"); if (SiteList.StatusCode == System.Net.HttpStatusCode.Accepted) { lPOInvoiceViewModels = (new JavaScriptSerializer().Deserialize <List <LPOInvoiceViewModel> >(SiteList.Data.ToString())); } return(View(lPOInvoiceViewModels)); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> GetProduct(PagingParameterModel paging) { logger.LogInformation("Getting all product"); var products = productService.GetAllProducts(paging); //var products.Item1.Select(product => ProductMapper.SerializeProductModel(product)); IQueryable <Product> source = products.Item1.AsQueryable(); int count = products.Item2; int CurrentPage = paging.pageNumber; int PageSize = paging.pageSize; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var items = source.Select(ProductMapper.SerializeProductModel) .ToList() .OrderBy(p => p.Id); var previousPage = CurrentPage > 1 ? "Yes" : "No"; var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; var paginationMetadata = new { totalCount = count, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage }; // Setting Header HttpContext.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); return(Ok(Tuple.Create(item1: items, item2: products.Item2))); }
public JsonResult GetAll(string OrderProgress) { try { //CompanyId = Convert.ToInt32(Session["CompanyId"]); PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 1; pagingParameterModel.OrderProgress = OrderProgress; //if (OrderProgress != "All") //{ // pagingParameterModel.CompanyId = CompanyId; //} pagingParameterModel.IsSend = true; pagingParameterModel.PageSize = 100; var CustomerOrderList = webServices.Post(pagingParameterModel, "CustomerOrder/CustomerOrderAllByCompanyId", false); if (CustomerOrderList.StatusCode == System.Net.HttpStatusCode.Accepted) { customerNoteOrderViewModel = (new JavaScriptSerializer().Deserialize <List <CustomerNoteOrderViewModel> >(CustomerOrderList.Data.ToString())); } return(Json(customerNoteOrderViewModel, JsonRequestBehavior.AllowGet)); } catch (Exception) { throw; } }
public IHttpActionResult GetUserTrades(string id, [FromUri] PagingParameterModel paging, [FromUri] TradeFilteringModel filter, string state = "all") { IEnumerable <TradeDTO> tradesForPage; try { tradesForPage = tradeService.GetUserTrades(id, filter.CategoryId, paging?.PageNumber ?? 1, paging?.PageSize ?? 10, state, filter.StartsOn, filter.EndsOn, filter.MaxPrice, filter.LotName, out int pagesCount, out int totalItemsCount); string metadata = JsonConvert.SerializeObject(PaginationHelper.GeneratePageMetadata(paging, totalItemsCount, pagesCount)); HttpContext.Current.Response.Headers.Add("Paging-Headers", metadata); return(Ok(tradesForPage)); } catch (AuctionException ex) { return(BadRequest(ex.Message)); } catch (DatabaseException) { return(StatusCode(HttpStatusCode.InternalServerError)); } }
public ActionResult Edit(int id) { try { CompnayModel compnayModel = new CompnayModel(); PagingParameterModel pagingParameterModel = new PagingParameterModel { Id = id }; var companyData = webServices.Post(pagingParameterModel, "AWFCompany/Edit"); if (companyData.StatusCode == System.Net.HttpStatusCode.Accepted) { if (companyData.Data != "[]" && companyData.Data != null) { compnayModel = (new JavaScriptSerializer().Deserialize <CompnayModel>(companyData.Data.ToString())); } } CountryController countryController = new CountryController(); ViewBag.Countries = countryController.Countries(); return(View(compnayModel)); } catch (Exception) { throw; } }
private IHttpActionResult GetProducts(string slug, string[] slugList, PagingParameterModel pagingParameterModel) { var pagination = new PaginationMetadataModel() { currentPage = pagingParameterModel.pageNumber, pageSize = pagingParameterModel.pageSize }; var filter = new HomePageFilterModel(); if (String.IsNullOrEmpty(slug) && slugList != null && slugList.Length > 0) { filter.categorySlug = String.Empty; filter.categorySlugList = slugList.ToList(); } else { filter.categorySlug = slug; filter.categorySlugList = new List <string>(); } var products = _service.getProducts(filter, ref pagination); if (products == null) { return(NotFound()); } // Setting Header HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", "X-Paging-Headers"); HttpContext.Current.Response.Headers.Add("X-Paging-Headers", JsonConvert.SerializeObject(pagination)); // Returing List of product Collections return(Ok <List <ProductCardModel> >(products)); }
public List <VehicleViewModel> Vehicles() { try { PagingParameterModel pagingParameterModel = new PagingParameterModel(); pagingParameterModel.pageNumber = 1; pagingParameterModel._pageSize = 1; pagingParameterModel.CompanyId = 0; pagingParameterModel.PageSize = 100; pagingParameterModel.CompanyId = CompanyId; var VehicleList = webServices.Post(pagingParameterModel, "Vehicle/All"); if (VehicleList.StatusCode == System.Net.HttpStatusCode.Accepted) { VehicleViewModels = (new JavaScriptSerializer().Deserialize <List <VehicleViewModel> >(VehicleList.Data.ToString())); } return(VehicleViewModels); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult <IEnumerable <Book> > > GetBooks([FromBody] PagingParameterModel pagingparametermodel) { var books = (from book in _context.Books.OrderBy(b => b.Name) select book).AsQueryable(); int count = books.Count(); int CurrentPage = pagingparametermodel.pageNumber; int PageSize = pagingparametermodel.pageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var items = books.Skip((CurrentPage - 1) * PageSize).Take(PageSize); var previousPage = CurrentPage > 1 ? "Yes" : "No"; var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; var paginationMetadata = new { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage }; HttpContext.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); return(await items.ToListAsync()); }