public static bool HasCourseAccess(this IPrincipal User, string courseId, CourseAccessType accessType) { var coursesRepo = new CoursesRepo(); return(coursesRepo.HasCourseAccess(User.Identity.GetUserId(), courseId, accessType)); }
public static string GetAuthorizationPolicyName(this CourseAccessType accessType) { return("CourseAccess." + Enum.GetName(typeof(CourseAccessType), accessType)); }
public static bool HasCourseAccess(this ApplicationUser User, string courseId, CourseAccessType accessType) { var coursesRepo = new CoursesRepo(); return(coursesRepo.HasCourseAccess(User.Id, courseId, accessType)); }
public async Task <List <CourseAccess> > RevokeAccess(string courseId, string userId, CourseAccessType accessType) { var accesses = db.CourseAccesses.Where(a => a.CourseId == courseId && a.UserId == userId && a.AccessType == accessType).ToList(); foreach (var access in accesses) { access.IsEnabled = false; } await db.SaveChangesAsync(); return(accesses); }
public bool HasCourseAccess(string userId, string courseId, CourseAccessType accessType) { return(db.CourseAccesses.Any(a => a.CourseId == courseId && a.UserId == userId && a.AccessType == accessType && a.IsEnabled)); }
public async Task <List <CourseAccess> > RevokeAccessAsync(string courseId, string userId, CourseAccessType accessType, string grantedById, string comment) { courseId = courseId.ToLower(); var revoke = new CourseAccess { UserId = userId, GrantTime = DateTime.Now, GrantedById = grantedById, Comment = comment, IsEnabled = false, CourseId = courseId, AccessType = accessType }; db.CourseAccesses.Add(revoke); await db.SaveChangesAsync(); return(new List <CourseAccess> { revoke }); }
public async Task <bool> HasCourseAccessAsync(string userId, string courseId, CourseAccessType accessType) { return((await GetActualEnabledCourseAccessesAsync(courseId: courseId, userId: userId).ConfigureAwait(false)) .Any(a => a.AccessType == accessType)); }
public bool HasCourseAccess(string userId, string courseId, CourseAccessType accessType) { return(GetActualEnabledCourseAccesses(courseId: courseId, userId: userId).Any(a => a.AccessType == accessType)); }
public async Task <CourseAccess> GrantAccessAsync(string courseId, string userId, CourseAccessType accessType, string grantedById, string comment) { courseId = courseId.ToLower(); var currentAccess = new CourseAccess { CourseId = courseId, UserId = userId, AccessType = accessType, GrantTime = DateTime.Now, GrantedById = grantedById, IsEnabled = true, Comment = comment }; db.CourseAccesses.Add(currentAccess); await db.SaveChangesAsync().ConfigureAwait(false); return(db.CourseAccesses.Include(a => a.GrantedBy).Single(a => a.Id == currentAccess.Id)); }
public CourseAccessAuthorizeAttribute(CourseAccessType accessType) : base(accessType.GetAuthorizationPolicyName()) { }
public CourseAccessRequirement(CourseAccessType courseAccessType) { CourseAccessType = courseAccessType; }
public async Task <bool> HasCourseAccess(string userId, string courseId, CourseAccessType accessType) { return((await GetActualEnabledCourseAccesses(courseId: courseId, userId: userId)) .Any(a => a.AccessType == accessType)); }
/* Course accesses */ public async Task <CourseAccess> GrantAccessAsync(string courseId, string userId, CourseAccessType accessType, string grantedById) { var currentAccess = await db.CourseAccesses.FirstOrDefaultAsync(a => a.CourseId == courseId && a.UserId == userId && a.AccessType == accessType).ConfigureAwait(false); if (currentAccess == null) { currentAccess = new CourseAccess { CourseId = courseId, UserId = userId, AccessType = accessType, }; db.CourseAccesses.Add(currentAccess); } currentAccess.GrantedById = grantedById; currentAccess.GrantTime = DateTime.Now; currentAccess.IsEnabled = true; await db.SaveChangesAsync().ConfigureAwait(false); return(db.CourseAccesses.Include(a => a.GrantedBy).Single(a => a.Id == currentAccess.Id)); }
public Task <bool> HasCourseAccessAsync(string userId, string courseId, CourseAccessType accessType) { return(db.CourseAccesses.AnyAsync(a => a.CourseId == courseId && a.UserId == userId && a.AccessType == accessType && a.IsEnabled)); }