Example #1
0
        public static bool AllowApplications(this IPrincipal user, ClimbingContext db, long compID)
        {
            if (!user.Identity.IsAuthenticated)
            {
                return(false);
            }
            if (user.IsInRoleComp(db, RoleEnum.Admin, compID))
            {
                return(true);
            }
            if (user.IsInRoleComp(db, RoleEnum.User, compID, false))
            {
                return(true);
            }
            var comp = db.Competitions.Find(compID);

            if (comp == null)
            {
                return(false);
            }
            var dbUser = user.GetDbUser(db, false);

            if (dbUser == null)
            {
                return(false);
            }
            if (dbUser.RegionId == null)
            {
                return(false);
            }
            return((dbUser.Region.IidParent ?? 0) == (comp.Region.IidParent ?? 0));
        }
Example #2
0
 public static IEnumerable <RegionModel> AdminRegions(this IPrincipal user, ClimbingContext db)
 {
     if (!user.Identity.IsAuthenticated)
     {
         return(new RegionModel[0]);
     }
     return(user.GetDbUser(db).AdminRegions());
 }
Example #3
0
        //private static ClimbingContext db = new ClimbingContext();

        private static bool IsInRole(IPrincipal user, ClimbingContext db,
                                     Func <UserRoleModel, bool> roleSelector)
        {
            if (!user.Identity.IsAuthenticated)
            {
                return(false);
            }
            return(IsInRole(user.GetDbUser(db, false), roleSelector));
        }
Example #4
0
        public static bool AllowRegistration(this IPrincipal user, ClimbingContext db)
        {
            if (!user.Identity.IsAuthenticated)
            {
                return(false);
            }
            var dbUser = user.GetDbUser(db, false);

            if (dbUser == null)
            {
                return(false);
            }
            return(dbUser.Roles.Where(r => r.CompID == null).Count(r => r.RoleId >= (int)RoleEnum.Admin) > 0);
        }