public string[] GetPermissionLevels(string currentUserName = null) { if (!string.IsNullOrEmpty(currentUserName)) { string[] roles = GetUserRoles(currentUserName); if (roles.Contains(PermissionLevels.Administrator)) { return(roles); } } return(PermissionLevels.GetPermissionLevels()); }
public string[] GetUserRoles(string userName) { IList <Role> userRoles = userRepository.GetUserRoles(userName); List <string> roles = new List <string>(); foreach (Role role in userRoles) { string[] permissions = role.PermissionLevels.Split(new char[] { ',' }); //Administrator will have all the permissions if (permissions.Contains(PermissionLevels.Administrator)) { roles = new List <string>(PermissionLevels.GetPermissionLevels()); roles.Add(PermissionLevels.Administrator); break; } roles.AddRange(permissions); } return(roles.Distinct().ToArray()); }