public async Task <IActionResult> RequestReview(int?semesterID, int?professorID) { if ((semesterID == null) || (professorID == null)) { return(NotFound()); } var fullCourseList = await _context.Courses.Include(t => t.Department).Where(i => i.Active == true).AsNoTracking().ToListAsync(); List <GivenCourse> somelist = new List <GivenCourse>(); foreach (var s in fullCourseList) { GivenCourse course = new GivenCourse() { SelectedCourses = s, //CourseID = s.CourseID, Checked = false, }; somelist.Add(course); } RequestReview review = new RequestReview() { Request = await _context.TeachingRequests .Where(i => i.SemesterID == semesterID && i.ProfessorID == professorID) .Include(c => c.ListOfCourses) .ThenInclude(c => c.Course) .SingleOrDefaultAsync(), Courses = somelist, }; return(View(review)); }
public async Task <IActionResult> GiveLoad(RequestReview model) { TeachingRequest request = await _context.TeachingRequests .Where(i => i.SemesterID == model.Request.SemesterID && i.ProfessorID == model.Request.ProfessorID) .SingleOrDefaultAsync(); request.GivenCourses = new List <Course>(); var givenCourses = model.Courses.Where(i => i.Checked == true).ToList(); var courses = new List <Course>(); foreach (GivenCourse s in givenCourses) { courses.Add(s.SelectedCourses); } _context.Courses.AttachRange(courses); request.GivenCourses = courses; request.Approved = true; List <CourseAssignment> assigments = new List <CourseAssignment>(); foreach (var course in courses) { assigments.Add(new CourseAssignment() { AssignmentDate = DateTime.Today, CourseID = course.CourseID, ProfessorID = request.ProfessorID, SemesterID = request.SemesterID, }); } _context.CourseAssignments.AddRange(assigments); await _context.SaveChangesAsync(); return(RedirectToAction("AdminIndex")); }