Пример #1
0
        /// <summary>
        /// Add user to course via UserAddCourseHelperModel
        /// </summary>
        public bool AddUserToCourse(AdminAddCourseToUserViewModel model)
        {
            var courseInstance = _db.CourseInstances.SingleOrDefault(x => x.Id == model.CourseId);

            if (courseInstance == null)
            {
                return(false);
            }

            var user = _db.AspNetUsers.SingleOrDefault(x => x.Id == model.UserId);

            if (user == null)
            {
                return(false);
            }

            if (model.Position == 1)
            {
                courseInstance.AspNetUsers.Add(user);
                AddUserToCourseAssignments(user.Id, courseInstance.Id);
            }
            else
            {
                Teacher teacher = new Teacher {
                    AspNetUser  = user,
                    IsAssistant = model.Position != 2
                };
                courseInstance.Teachers.Add(teacher);

                if (!_userService.IsUserInRoleByUserId(user.Id, "Teacher"))
                {
                    _userService.AddUserToRoleByUserId(user.Id, "Teacher");
                }
            }

            try {
                _db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// Remove a user from a course via UserAddCourseHelperModel which contains the course instance ID,
        /// the user ID and the position the user currently occupies in the course.
        /// </summary>
        public bool RemoveUserFromCourse(AdminAddCourseToUserViewModel model)
        {
            var courseInstance = _db.CourseInstances.SingleOrDefault(x => x.Id == model.CourseId);

            if (courseInstance == null)
            {
                return(false);
            }

            var user = _db.AspNetUsers.SingleOrDefault(x => x.Id == model.UserId);

            if (user == null)
            {
                return(false);
            }

            if (model.Position == 1)
            {
                courseInstance.AspNetUsers.Remove(user);
            }
            else
            {
                var teacher = courseInstance.Teachers.SingleOrDefault(x => x.AspNetUser == user && x.IsAssistant == (model.Position != 2));
                courseInstance.Teachers.Remove(teacher);

                var teacherCourses = _db.CourseInstances.SingleOrDefault(x => x.Teachers.Any(y => y.AspNetUser.Id == user.Id));

                if (teacherCourses != null && !teacherCourses.Teachers.Any())
                {
                    _userService.RemoveUserFromRoleByUserId(user.Id, "Teacher");
                }
            }

            try {
                _db.SaveChanges();
                return(true);
            }
            catch (Exception e) {
                return(false);
            }
        }
Пример #3
0
 /// <summary>
 /// Adds user to course by passing a view model including the userId and the courseInstanceId
 /// </summary>
 public ActionResult AddUserToCourse(AdminAddCourseToUserViewModel model)
 {
     return(Json(_courseService.AddUserToCourse(model)));
 }
Пример #4
0
 /// <summary>
 /// Removes user from course by passing a AddCourseToUserViewModel with the courseInstanceId and userId
 /// </summary>
 public ActionResult RemoveUserFromCourse(AdminAddCourseToUserViewModel model)
 {
     return(Json(_courseService.RemoveUserFromCourse(model)));
 }