public bool UpdateCoursePermission(CoursePermission permission) { try { DbContext.CoursePermission.Update(permission); DbContext.SaveChanges(); return(true); } catch (Exception) { return(false); } }
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)); } }
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 }); }
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)); } }