private List <Category> GetAllCategories(bool update_pager) { using (var db = new MLEEntities()) { var categories = db.Category.ToList(); var count = categories.Count; var default_by_page = 20; current_page = 1; if (check_page) { if (Request.QueryString["page"] != null) { int.TryParse(Request.QueryString["page"].ToString(), out current_page); } } Pages = (int)Math.Ceiling((double)count / (double)default_by_page); current_page = current_page > Pages ? Pages : current_page; Skip = (current_page - 1) * default_by_page; if (update_pager) { Pager.CreatePager(Pages, current_page, phPager, "Categories"); } categories = categories.Skip(Skip).Take(default_by_page).ToList(); return(categories); } }
private List <Project> GetAllProjects(bool update_pager) { using (var db = new MLEEntities()) { var projects = db.Project.Include(x => x.Example).ToList(); var count = projects.Count; var default_by_page = 20; current_page = 1; if (check_page) { if (Request.QueryString["page"] != null) { int.TryParse(Request.QueryString["page"].ToString(), out current_page); } } Pages = (int)Math.Ceiling((double)count / (double)default_by_page); current_page = current_page > Pages ? Pages : current_page; Skip = (current_page - 1) * default_by_page; if (update_pager) { Pager.CreatePager(Pages, current_page, phPager, "Projects"); } projects = projects.Skip(Skip).Take(default_by_page).ToList(); return(projects); } }
private List <Subcategory> GetAllSubcategories(int CId, bool updatePager) { int id = 0; using (var db = new MLEEntities()) { if (CId == 0) { id = db.Subcategory.First().Id; } else { id = CId; } var subcategories = db.Subcategory.Where(x => x.CategoryId == id).Include(x => x.Category).ToList(); var number_of_examples = subcategories.Count; var default_by_page = 20; current_page = 1; if (check_page) { if (Request.QueryString["page"] != null) { int.TryParse(Request.QueryString["page"].ToString(), out current_page); } } Pages = (int)Math.Ceiling((double)number_of_examples / (double)default_by_page); current_page = current_page > Pages ? Pages : current_page; Skip = (current_page - 1) * default_by_page; if (updatePager) { Pager.CreatePager(Pages, current_page, phPager, "Subcategories", CId); } subcategories = subcategories.Skip(Skip).Take(default_by_page).ToList(); return(subcategories); } }
private List<User> GetAllUsers(bool update_pager) { using (var db = new MLEEntities()) { var users = db.User.ToList(); var count = users.Count; var default_by_page = 20; current_page = 1; if (check_page) if (Request.QueryString["page"] != null) int.TryParse(Request.QueryString["page"].ToString(), out current_page); Pages = (int)Math.Ceiling((double)count / (double)default_by_page); current_page = current_page > Pages ? Pages : current_page; Skip = (current_page - 1) * default_by_page; if (update_pager) Pager.CreatePager(Pages, current_page, phPager, "Users"); users = users.Skip(Skip).Take(default_by_page).ToList(); return users; } }
private List <Example> GetAllExamples(int projectId) { var _dbExamples = new List <Example>(); using (var db = new MLEEntities()) { if (projectId == 0) { var pId = db.Project.First().Id; _dbExamples = db.Example.Where(x => x.ProjectId == pId).Include(x => x.Project).Include(x => x.Category).ToList(); check_page = false; } else { _dbExamples = db.Example.Where(x => x.ProjectId == projectId).Include(x => x.Project).Include(x => x.Category).ToList(); } var number_of_examples = _dbExamples.Count; var default_by_page = 20; current_page = 1; if (check_page) { if (Request.QueryString["page"] != null) { int.TryParse(Request.QueryString["page"].ToString(), out current_page); } } Pages = (int)Math.Ceiling((double)number_of_examples / (double)default_by_page); current_page = current_page > Pages ? Pages : current_page; Skip = (current_page - 1) * default_by_page; Pager.CreatePager(Pages, current_page, phPager, "Examples", PId); _dbExamples = _dbExamples.Skip(Skip).Take(default_by_page).ToList(); return(_dbExamples); } }
public void PagerGenoratorReturnsExpectedResults() { XDocument config1 = XDocument.Parse(@"<?xml version=""1.0""?> <PagerStyle> <First> <Format><a class="PagerLink" href="{0}"">&lt;&lt;</a> </Format> </First> <Previous> <Format><a class="PagerLink" href="{0}"">&lt;</a> </Format> </Previous> <PageCount> <Format>Page {0} of {1}</Format> </PageCount> <Next> <Format> <a class="PagerLink" href="{0}"">&gt;</a></Format> </Next> <Last> <Format> <a class="PagerLink" href="{0}"">&gt;&gt;</a></Format> </Last> </PagerStyle>"); XDocument config2 = XDocument.Parse(@"<PagerStyle> <Literal>Jump&nbsp;to&nbsp;page:&nbsp;</Literal> <First> <Format><a href="{0}">&lt;</a>&nbsp;</Format> </First> <NumberRun collapseAdjacentSeperators=""False""> <Regions> <First number=""0""/> <FirstSeperator>...</FirstSeperator> <Current adjacentMin=""3"" adjacentMax=""6"" /> <LastSeperator>...</LastSeperator> <Last number=""0""/> </Regions> <Format> <Current>{0}</Current> <Other><a href="{1}">{0}</a></Other> <Seperator>&nbsp;</Seperator> </Format> </NumberRun> <Last> <Format>&nbsp;<a href="{0}">&gt;</a></Format> </Last> </PagerStyle>"); XDocument config3 = XDocument.Parse(@"<?xml version=""1.0""?> <PagerStyle> <ItemCount> <Format><![CDATA[{0} topics]]></Format> </ItemCount> <Literal><![CDATA[ • ]]></Literal> <PageCount> <Format><![CDATA[Page <strong>{0}</strong> of <strong>{1}</strong>]]></Format> </PageCount> <Literal><![CDATA[ • ]]></Literal> <Literal><![CDATA[<span>]]></Literal> <NumberRun collapseAdjacentSeperators=""True"" collapseAdjacentElements=""True""> <Regions> <First number=""1""/> <FirstSeperator><![CDATA[ ... ]]></FirstSeperator> <Current adjacentMin=""3"" adjacentMax=""4"" /> <LastSeperator><![CDATA[ ... ]]></LastSeperator> <Last number=""1""/> </Regions> <Format> <Current><![CDATA[<strong>{0}</strong>]]></Current> <Other><![CDATA[<a href=""{1}"">{0}</a>]]></Other> <Seperator><![CDATA[<span class=""page-sep"">, </span>]]></Seperator> </Format> </NumberRun> <Literal><![CDATA[</span>]]></Literal> </PagerStyle>"); string expected; string result; Pager pg1 = new Pager(config1); Pager pg2 = new Pager(config2); Pager pg3 = new Pager(config3); expected = "Page 1 of 10 <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=2\">></a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=10\">>></a>"; result = pg1.CreatePager(1, 236, 25, i => "/Forums/ViewForum/4?page=" + i); Assert.That(result, Is.EqualTo(expected)); expected = "<a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=1\"><<</a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=1\"><</a> Page 2 of 10 <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=3\">></a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=10\">>></a>"; result = pg1.CreatePager(2, 236, 25, i => "/Forums/ViewForum/4?page=" + i); Assert.That(result, Is.EqualTo(expected)); expected = "<a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=1\"><<</a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=8\"><</a> Page 9 of 10 <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=10\">></a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=10\">>></a>"; result = pg1.CreatePager(9, 236, 25, i => "/Forums/ViewForum/4?page=" + i); Assert.That(result, Is.EqualTo(expected)); expected = "<a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=1\"><<</a> <a class=\"PagerLink\" href=\"/Forums/ViewForum/4?page=9\"><</a> Page 10 of 10"; result = pg1.CreatePager(10, 236, 25, i => "/Forums/ViewForum/4?page=" + i); Assert.That(result, Is.EqualTo(expected)); Console.WriteLine(@"<style> a:link { color: #898989; text-decoration: none; } a:visited { color: #898989; text-decoration: none; } a:hover { color: #d3d3d3; text-decoration: underline; } a:active { color: #d2d2d2; text-decoration: none; } .pagination { height: 1%; /* IE tweak (holly hack) */ width: auto; text-align: right; margin-top: 5px; float: right; } .pagination span.page-sep { display: none; } li.pagination { margin-top: 0; } .pagination strong, .pagination b { font-weight: normal; } .pagination span strong { padding: 0 2px; margin: 0 2px; font-weight: normal; color: #FFFFFF; background-color: #bfbfbf; border: 1px solid #bfbfbf; font-size: 0.9em; } .pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active { font-weight: normal; text-decoration: none; color: #747474; margin: 0 2px; padding: 0 2px; background-color: #eeeeee; border: 1px solid #bababa; font-size: 0.9em; line-height: 1.5em; } .pagination span a:hover { border-color: #d2d2d2; background-color: #d2d2d2; color: #FFF; text-decoration: none; } .pagination img { vertical-align: middle; } </style>"); Console.WriteLine(pg2.CreatePager(1, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(3, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(7, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(336, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(995, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(998, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine(pg2.CreatePager(1000, 2000, 2, i => "/?page=" + i)); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(1, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(5, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(7, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(900, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(1460, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(1464, 73217, 50, i => "/?page=" + i) + "</div>"); Console.WriteLine("<br/>"); Console.WriteLine("<br/>"); Console.WriteLine("<div class=\"pagination\">" + pg3.CreatePager(1465, 73217, 50, i => "/?page=" + i) + "</div>"); }