public ActionResult SearchTest(string searchValue = null, string sort = "TestTitle", string order = "desc", int page = 1, string?classID = null) { int pageSize = 10; var s = (Person)Session["USER_DTO"]; List <Test> tests; int total = 0; SearchTestModel model; if (!string.IsNullOrEmpty(classID)) { tests = service.GetClassTestsForTeacher(classID, searchValue, sort + " " + order); model = new SearchTestModel { SearchValue = searchValue }; var c = service.GetClass(classID); model.Class = Mapper.Map <Class, ClassModel>(c); } else { tests = service.GetTestsForTeacher(s.Username, searchValue, page, pageSize, sort + " " + order); total = service.GetTestsForTeacher(s.Username, searchValue, sort + " " + order).Count; int totalPages = (int)Math.Ceiling(total / (double)pageSize); model = new SearchTestModel { SearchValue = searchValue, Page = page, PageSize = pageSize, TotalPages = totalPages }; } var list = Mapper.Map <List <Test>, List <TestModel> >(tests); foreach (var c in list) { c.TotalAnswers = service.GetAnswersForTeacher(c.TestID.ToString()).Count; } model.Tests = new SortedList <TestModel>(list, sort, order); return(View(model)); }
public ActionResult SearchTest(string classID = null) { var tests = service.GetClassTestsForStudent(classID); var model = new SearchTestModel(); var c = service.GetClass(classID); model.Class = Mapper.Map <Class, ClassModel>(c); var teacher = service.GetTeacher(c.TeacherID); model.Teacher = Mapper.Map <BusinessObjects.Teacher, PersonModel>(teacher); var list = Mapper.Map <List <Test>, List <TestModel> >(tests); model.Tests = new SortedList <TestModel>(list, "TestTitle", "asc"); return(View(model)); }