public ActionResult Index(StudentEnrollmentViewModel viewModel) { //get course list var courses = GetCourses(); var departments = GetDepartments(); viewModel.DepartmentList = new SelectList(departments, "Id", "DepartmentName"); viewModel.CourseList = new SelectList(courses, "Id", "CourseName", viewModel.SelectCourse); return(View(viewModel)); }
// // GET: /StudentEnroll/ public ActionResult Index() { //need to use db to retrive the student var student = new Student { Id = 1, FirstName = "demo -1 ", LastName = " foo", Age = 24 }; var courses = GetCourses(); var departments = GetDepartments(); StudentEnrollmentViewModel viewModel = new StudentEnrollmentViewModel(); viewModel.Student = student; viewModel.DepartmentList = new SelectList(departments, "Id", "DepartmentName"); viewModel.CourseList = new SelectList(courses, "Id", "CourseName", student.Courses); return(View(viewModel)); }
public ActionResult StudentEnrollment(int id) { //Create object studentViewModel StudentEnrollmentViewModel model = new StudentEnrollmentViewModel(); //Implementation of this studentViewModel with the student with the id parameters model.Student = db.Students.FirstOrDefault(s => s.ID == id); //Create list of courses List <Course> CourseEnrolled = new List <Course>(); //Adding courses to which the student is already enrolled foreach (Enrollment item in model.Student.Enrollments) { CourseEnrolled.Add(db.Courses.FirstOrDefault(c => c.CourseID == item.CourseID)); } //Create list with the id of courses of student is already enrolled List <int> EnrolledCoursesId = CourseEnrolled.Select(q => q.CourseID).ToList(); //Add a list that does not contain the courses where the student is already enrolled ViewBag.CourseID = new SelectList(db.Courses.Where(q => !EnrolledCoursesId.Contains(q.CourseID)), "CourseID", "Title"); ViewBag.StudentID = db.Students.Find(id).ID; return(View()); }