Example #1
0
        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);
        }
Example #2
0
        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);
        }