public ActionResult Roster(int id, string searchLastName, int? searchGradeLevelId)
        {
            var response = _courseManager.GetRosterResponse(id);
            if (!response.Success)
            {
                ViewBag.ErrorMsg = response.Message;
                return View("Error");
            }

            var vm = new CourseRosterVM
            {
                CourseDetails = response.CourseDetails,
                SearchGradelevelId = searchGradeLevelId,
                SearchLastName = searchLastName,
                RosterResponse = response
            };
            vm.PopulateSelectLists(response.GradeLevels);

            var filteredList = vm.RosterResponse.StudentsNotInCourse;

            if (!string.IsNullOrEmpty(vm.SearchLastName))
            {
                var searchTerm = vm.SearchLastName.ToUpper();
                filteredList =
                    vm.RosterResponse.StudentsNotInCourse.Where(
                        s => s.LastName.ToUpper().Contains(searchTerm)).ToList();
            }
            if (vm.SearchGradelevelId != null)
            {
                filteredList =
                    filteredList.Where(
                    s => s.GradeLevelId == vm.SearchGradelevelId.Value).ToList();
            }

            vm.RosterResponse.StudentsNotInCourse = filteredList;

            return View(vm);
        }
 public ActionResult DeleteStudentFromCourse(int id, int studentId, CourseRosterVM vm)
 {
     var response = _courseManager.DeleteStudentFromCourse(studentId, id);
     if (response.Success)
     {
         //return Roster(id, vm.SearchLastName, vm.SearchGradelevelId);
         return RedirectToAction("Roster", new { id, searchLastName = vm.SearchLastName, searchGradeLevelId = vm.SearchGradelevelId });
     }
     else
     {
         ViewBag.ErrorMsg = response.Message;
         return View("Error");
     }
 }