public ViewModels.IndexVM GetStudentsIndexVM(string sortOrder, string currentFilter, string searchString, int?page) { using (var db = new RejestrContext()) { db.Database.Log = Console.Write; var students = db.Studenci.AsQueryable(); if (!String.IsNullOrEmpty(searchString)) { students = students.Where(s => (s.Imie + " " + s.Nazwisko).ToUpper().Contains(searchString.ToUpper()) || (s.Nazwisko + " " + s.Imie).ToUpper().Contains(searchString.ToUpper()) ); } switch (sortOrder) { case "name_desc": students = students.OrderByDescending(s => s.Nazwisko); break; case "Date": students = students.OrderBy(s => s.DataRejestracji); break; case "date_desc": students = students.OrderByDescending(s => s.DataRejestracji); break; default: students = students.OrderBy(s => s.Nazwisko); break; } if (searchString != null) { page = 1; } else { searchString = currentFilter; } int pageSize = 3; int pageNumber = (page ?? 1); var list = students.ToPagedList(pageNumber, pageSize); var vm = new ViewModels.IndexVM() { NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "", DateSortParm = sortOrder == "Date" ? "date_desc" : "Date", CurrentFilter = searchString, CurrentSort = sortOrder, Lista = students.ToPagedList(pageNumber, pageSize) }; return(vm); } }
// GET: Index public ActionResult Index() { var grades = gradeSer.GetModels(b => b.Grade_id != 0); var tasks = taskSer.GetAll().Take(5); var kidtea = teacherinfoSer.getinfobygrade("小学"); var pretea = teacherinfoSer.getinfobygrade("初中"); var midtea = teacherinfoSer.getinfobygrade("学前"); var higtea = teacherinfoSer.getinfobygrade("高中"); IndexVM indexvm = new ViewModels.IndexVM(); indexvm.grade = grades; indexvm.task = tasks; indexvm.pretea = pretea; indexvm.kidtea = kidtea; indexvm.midtea = midtea; indexvm.higtea = higtea; return(View(indexvm)); }