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));
        }