// GET: Common/BrowseUrl public ActionResult Index() { var urls = _objBs.GetAll(); return(View(urls)); }
// GET: Common/BrowseURL public ActionResult Index(string SortOrder, string SortBy, string Page) { ViewBag.SortOrder = SortOrder; ViewBag.SortBy = SortBy; var urls = objBs.GetAll().Where(x => x.IsApproved == "A"); switch (SortBy) { case "Title": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.UrlTitle).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.UrlTitle).ToList(); break; default: break; } break; case "Category": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.tbl_Category.CategoryName).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.tbl_Category.CategoryName).ToList(); break; default: break; } break; case "Url": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.Url).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.Url).ToList(); break; default: break; } break; case "UrlDesc": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.UrlDesc).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.UrlDesc).ToList(); break; default: break; } break; default: urls = urls.OrderBy(x => x.UrlTitle).ToList(); break; } ViewBag.TotalPages = Math.Ceiling(objBs.GetAll().Where(x => x.IsApproved == "A").Count() / 10.0); int page = int.Parse(Page == null ? "1" : Page); ViewBag.Page = page; urls = urls.Skip((page - 1) * 10).Take(10); return(View(urls)); }
// GET: Common/BrowseURLs public ActionResult Index(String SortOrder, String SortBy, String Page) { ViewBag.SortOrder = SortOrder; ViewBag.SortBy = SortBy; var urls = objBs.GetAll().Where(x => x.IsApproved == "A").ToList(); switch (SortBy) { case "Title": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.UrlTitle).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.UrlTitle).ToList(); break; default: break; } break; case "Category": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.UrlTitle).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.UrlTitle).ToList(); break; default: break; } break; case "Url": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.Url).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.Url).ToList(); break; default: break; } break; case "UrlDesc": switch (SortOrder) { case "Asc": urls = urls.OrderBy(x => x.UrlDesc).ToList(); break; case "Desc": urls = urls.OrderByDescending(x => x.UrlDesc).ToList(); break; default: break; } break; default: urls = urls.OrderBy(x => x.UrlTitle).ToList(); break; } ViewBag.TotalPages = Math.Ceiling(objBs.GetAll().Where(x => x.IsApproved == "A").Count() / 10.0); int page = int.Parse(Page == null ? "1" : Page); //page number is needed in order to highlight the page ViewBag.Page = page; //urls contaiins a list of objects of all the urls in the db, we use the page number to extract display the revelant //number of pages //if page == 2, 2 - 1 = 1 * 10 = 10, skip the first 10 records and take next 10 urls.ToList(); int elementCount = (page - 1) * 10; List <BOL.tbl_Url> returnedURLs = new List <BOL.tbl_Url>(urls.Count()); int internalCount = 0; for (int i = elementCount; internalCount < 10 && i < urls.Count(); i++, internalCount++) { if (urls.ElementAt(i) != null) { returnedURLs.Add(urls.ElementAt(i)); } } //urls = urls.Skip((page - 1) * 10).Take(10); return(View(returnedURLs)); }