/// <summary> /// Busca o caminho da funcao atual. /// </summary> /// <param name="_nomeFuncaoAtual">Nome da funcaoi atual.</param> /// <returns>Retorna uma lista separada por vírgula do caminho atual.</returns> public static IList <string> ListaParaBread(string _nomeFuncaoAtual) { IList <string> funcoes = new List <string>(); // Se não conseguir apenas não montará o bread try { string novoNome = _nomeFuncaoAtual; if (Core.AmbienteAtual != null) { novoNome = Core.AmbienteAtual.Nome + "." + _nomeFuncaoAtual; } IList <FuncaoMenu> funcoesmenu = ListaFuncoesMenu; FuncaoMenu funcao = funcoesmenu.Where(r => r.Nome.Equals(novoNome)).LastOrDefault(); if (funcao == null) { funcao = funcoesmenu.Where(r => r.Nome.Equals(_nomeFuncaoAtual)).LastOrDefault(); } foreach (string nomeFuncao in funcao.BreadCrumb.Split(new char[] { ',' })) { funcoes.Add(nomeFuncao); } funcoes.Add(funcao.Titulo); } catch (Exception) { funcoes.Add(_nomeFuncaoAtual); } return(funcoes); }
/// <summary> /// Monta o título da página a partir do BreadCrumb. /// </summary> /// <param name="_breadCrumb">BreadCrumb da tela.</param> /// <returns>Título da tela.</returns> public static string BreadCrumbParaTitulo(string _breadCrumb) { string sRetorno = String.Empty; // Se não conseguir apenas não montará o título try { string novoNome = _breadCrumb; if (Core.AmbienteAtual != null) { novoNome = Core.AmbienteAtual.Nome + "." + _breadCrumb; } IList <FuncaoMenu> funcoesmenu = ListaFuncoesMenu; FuncaoMenu funcao = funcoesmenu.Where(r => r.Nome.Equals(novoNome)).LastOrDefault(); if (funcao == null) { funcao = funcoesmenu.Where(r => r.Nome.Equals(_breadCrumb)).LastOrDefault(); } foreach (string nomeFuncao in funcao.BreadCrumb.Split(new char[] { ',', ' ' })) { sRetorno += nomeFuncao + " > "; } sRetorno += funcao.Titulo + " - "; } catch (Exception) { } sRetorno += "Portal"; return(sRetorno); }
/// <summary> /// Compara dois modelos e retorna verdadeiro se o ID for coincidente. /// </summary> /// <param name="obj">Objeto a ser comparado.</param> /// <returns>Verdadeiro se é igual.</returns> public override bool Equals(object obj) { try { if (obj == null) { return(false); } FuncaoMenu outro = (FuncaoMenu)obj; return(outro.Nome == this.Nome); } catch { return(false); } }