public List <FlattenedRecord> Get() { //Exception ex = null; //throw ex; string CSVFilePath = "~/resources/exercise01.csv"; string FilePointer = System.Web.Hosting.HostingEnvironment.MapPath(CSVFilePath); List <FlattenedRecord> recordSet = File.ReadAllLines(FilePointer) .Skip(1) .Select(v => FlattenedRecord.FromCsv(v)) .ToList(); return(recordSet); }
public List <FlattenedRecord> Get([FromUri] PagingParameterModel pagingparametermodel) { string CSVFilePath = "~/resources/exercise01.csv"; string FilePointer = System.Web.Hosting.HostingEnvironment.MapPath(CSVFilePath); List <FlattenedRecord> recordSet = File.ReadAllLines(FilePointer) .Skip(1) .Select(v => FlattenedRecord.FromCsv(v)) .ToList(); int TotalCount = recordSet.Count; int CurrentPage = pagingparametermodel.pageNumber; int PageSize = pagingparametermodel.pageSize; int TotalPages = (int)Math.Ceiling(TotalCount / (double)PageSize); var items = recordSet.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); }