コード例 #1
0
        public static string GetCaption(this UserFeatureAccess userFeatureAccess)
        {
            switch (userFeatureAccess)
            {
            case UserFeatureAccess.Nothing:
                return(Phrases.Access_None);

            case UserFeatureAccess.MenuUsers:
                return(Phrases.Access_UserMenu);
            }

            return(userFeatureAccess.ToString());
        }
コード例 #2
0
 public static bool HasAccessToFeature(this UserRolesPair src, UserFeatureAccess feature)
 {
     return(HasAccessToFeature(src.User, src.Roles, feature));
 }
コード例 #3
0
        public static bool HasAccessToFeature(this IBackOfficeUser src, IBackofficeUserRole[] roles, UserFeatureAccess feature)
        {
            if (src.IsAdmin)
            {
                return(true);
            }

            foreach (var roleId in src.Roles)
            {
                var foundRole = roles.FirstOrDefault(role => role.Id == roleId);
                if (foundRole == null)
                {
                    continue;
                }

                if (foundRole.Features.Any(f => f == feature))
                {
                    return(true);
                }
            }

            return(false);
        }