public static bool TemPermissao(ProcListaPrefisUsuario_Result perfil, enumPerfilTipo perfilTipo, params enumPerfilNome[] perfisNomes) { enumPerfilTipo[] perfisTipos = null; if (perfilTipo != enumPerfilTipo.todos) { perfisTipos = new enumPerfilTipo[1] { perfilTipo }; } return(TemPermissao(perfil, perfisNomes, perfisTipos)); }
public static bool TemPermissao(ProcListaPrefisUsuario_Result perfil, enumPerfilNome[] perfisNomes, enumPerfilTipo[] perfisTipos) { if (perfil != null) { if ((perfisNomes != null) && (perfisNomes.Length > 0) && (perfil.PerfilNome.ToLower() != enumPerfilNome.master.Description().ToLower()) && (!perfisNomes.Any(t => t.Description().ToLower().Split(',').Contains(perfil.PerfilNome.ToLower())))) { return(false); } if ((perfisTipos != null) && (perfisTipos.Length > 0)) { return(perfisTipos.Select(t => t.Description().ToLower()).Contains(perfil.PerfilTipo.ToLower())); } return(true); } // Caso o pefil seja nulo, retorna true se os parâmetros passados também ferem null o vazios return((perfisNomes == null) || (perfisNomes.Length == 0) || (perfisTipos == null) || (perfisTipos.Length == 0)); }