Beispiel #1
0
 public bool UpdateCoursePermission(CoursePermission permission)
 {
     try
     {
         DbContext.CoursePermission.Update(permission);
         DbContext.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Beispiel #2
0
        public bool JoinCourse(Guid userId, Guid courseId)
        {
            CoursePermission permission = GetCoursePermission(userId, courseId);

            if (permission == null)
            {
                return(permissionRepository.CreateCoursePermission(userId, courseId, false, false, true));
            }
            else
            {
                permission.Join = true;
                return(permissionRepository.UpdateCoursePermission(permission));
            }
        }
Beispiel #3
0
        public CourseDetailDTO GetOnlineCourseDetail(Guid userId, Guid courseId)
        {
            Course           course     = courseRepository.Get(courseId);
            CoursePermission permission = permissionService.GetCoursePermission(userId, courseId);

            return(new CourseDetailDTO
            {
                Name = course.Name,
                Description = course.Description,
                Owner = userRepository.Get(course.OwnerId).Username,
                DateCreated = course.DateCreated,
                Participants = permissionService.GetTotalJoinPermissions(course.Id),
                IsJoined = permission == null ? false : permission.Join,
                ImageIndex = course.ImageIndex
            });
        }
Beispiel #4
0
        public bool LeaveCourse(Guid userId, Guid courseId)
        {
            CoursePermission permission = GetCoursePermission(userId, courseId);

            if (permission == null)
            {
                return(true);
            }
            if (!permission.Write && !permission.Authorize)
            {
                return(permissionRepository.DeleteCoursePermission(permission) && chapterRepository.DeleteProgress(userId, courseId));
            }
            else
            {
                permission.Join = false;
                return(permissionRepository.UpdateCoursePermission(permission) && chapterRepository.DeleteProgress(userId, courseId));
            }
        }