Beispiel #1
0
        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));
        }
Beispiel #2
0
        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"));
        }