// ~/Folder/Index == Yfirlit texta public ViewResult Index(SearchViewModel svm) { string sortOrder = svm.sortOrder; string currentFilter = svm.currentFilter; string searchString = svm.searchString; int? page = svm.page; ViewBag.CatID = svm.ID; if (page >= 2 || (page == 1 && svm.CategoryID != 0)) { ViewBag.CatID = svm.CategoryID; } int category = ViewBag.CatID; // Til að raða eftir nafni, dagsetningu eða flokki ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.DateSortParm = sortOrder == "date_asc" ? "date_desc" : "date_asc"; ViewBag.CatSortParm = sortOrder == "cat_asc" ? "cat_desc" : "cat_asc"; // Alltaf sýna síðu 1 ef það er notað leitina if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; // Nær í allar möppur var folders = repo.GetAllFolders(); // Leitað eftir nafni á möppu if (!String.IsNullOrEmpty(searchString)) { folders = folders.Where(s => s.FolderName.ToUpper().Contains(searchString.ToUpper())); } // Ef það er leitað eftir flokki switch (category) { case 1: folders = folders.Where(f => f.CategoryID == 1); break; case 2: folders = folders.Where(f => f.CategoryID == 2); break; case 3: folders = folders.Where(f => f.CategoryID == 3); break; case 4: folders = folders.Where(f => f.CategoryID == 4); break; } // Raðar eftir nafni, dagsetningu eða flokki switch (sortOrder) { case "name_desc": folders = folders.OrderByDescending(s => s.FolderName); break; case "date_desc": folders = folders.OrderByDescending(s => s.DateCreated); break; case "date_asc": folders = folders.OrderBy(s => s.DateCreated); break; case "cat_desc": folders = folders.OrderByDescending(s => s.Category.CategoryName); break; case "cat_asc": folders = folders.OrderBy(s => s.Category.CategoryName); break; default: // Name ascending folders = folders.OrderBy(s => s.FolderName); break; } // Birtir 25 texta á hverri síðu int pageSize = 10; // pageNumber er sjálfgefið 1 ef engin síða er valin int pageNumber = (page ?? 1); return View(folders.ToPagedList(pageNumber, pageSize)); }
// GET: /Request/ public ViewResult Index(SearchViewModel svm) { string sortOrder = svm.sortOrder; string currentFilter = svm.currentFilter; string searchString = svm.searchString; int? page = svm.page; // Til að raða eftir nafni, dagsetningu eða atkvæðum ViewBag.CurrentSort = sortOrder; ViewBag.VoteSortParm = String.IsNullOrEmpty(sortOrder) ? "vote_asc" : ""; ViewBag.NameSortParm = sortOrder == "name_asc" ? "name_desc" : "name_asc"; ViewBag.DateSortParm = sortOrder == "date_asc" ? "date_desc" : "date_asc"; // Alltaf sýna síðu 1 ef það er notað leitina if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; // Nær í allar beiðnir var req = repo.GetAllRequests(); // Ber leitarstrenginn saman við nöfnin og lýsingarnar á beiðnunum if (!String.IsNullOrEmpty(searchString)) { req = req.Where(r => (r.RequestName.ToUpper().Contains(searchString.ToUpper()) || r.RequestText.ToUpper().Contains(searchString.ToUpper()))); } // Raða eftir nafni, dagsetningu eða atkvæðum switch (sortOrder) { case "name_desc": req = req.OrderByDescending(s => s.RequestName); break; case "date_desc": req = req.OrderByDescending(s => s.DateCreated); break; case "date_asc": req = req.OrderBy(s => s.DateCreated); break; case "name_asc": req = req.OrderBy(s => s.RequestName); break; case "vote_asc": req = req.OrderBy(s => s.ReqUpvoteCounter); break; default: // Votes descending req = req.OrderByDescending(s => s.ReqUpvoteCounter); break; } int pageSize = 10; int pageNumber = (page ?? 1); return View(req.ToPagedList(pageNumber, pageSize)); }