public static bool HaveAccess(FuncionalidadeAutorizacao funcionalidade, MenuHelper menu, ScreensHelper tela, FeaturesHelper acao) { try { var menuEncontrado = funcionalidade.Filhos.Where(f => f.Nome.ToString().Replace("\\", "").Replace(" ", "") == menu.ToString()).FirstOrDefault(); if (menuEncontrado == null) { return(false); } var telaEncontrada = menuEncontrado.Filhos.Where(f2 => f2.Nome.Replace(" ", "") == tela.ToString()).FirstOrDefault(); if (telaEncontrada == null) { return(false); } if (acao == FeaturesHelper.Consultar) { return(true); } foreach (var filho in telaEncontrada.Filhos) { if (filho.Nome == acao.ToString()) { return(true); } } return(false); } catch { return(false); } }