public static string GetAreaCorrente(bool comPagina) { List <string> areas = new List <string>(); var cliente = Cliente.Current(); var programa = Programa.Current(); var campanha = Campanha.Current(); if (cliente != null) { areas.Add(cliente.Slug); } if (programa != null) { areas.Add(programa.Slug); } if (campanha != null) { areas.Add(campanha.Slug); } if (comPagina) { var pagina = Pagina.Current(); if (pagina != null) { areas.Add(pagina.Slug); } } return(string.Join("/", areas.ToArray())); }
private string HtmlMenu(Componente componente) { if (componente.Conteudo == null) { componente.Conteudo = ""; } var writer = new StringWriter(); var context = new VelocityContext(); context.Put("menu", Pagina.GetPaginasUsuario()); context.Put("area", Pagina.GetAreaCorrente(false)); context.Put("site", Pagina.Site()); var pagina = Pagina.Current(); if (pagina != null) { context.Put("pagina_corrente", pagina); } Velocity.Evaluate(context, writer, "", componente.Conteudo); return(writer.GetStringBuilder().ToString()); }
public string GetPaginasFilhas(int idPaginaPai) { var paginaPai = new Pagina(idPaginaPai); paginaPai.Get(); if (paginaPai.IDPagina == null) { return(""); } Cliente cliente = Cliente.Current(); if (cliente == null) { return(""); } Usuario usuario = Usuario.Current(); if (usuario == null) { return(""); } var componente = new Componente(); componente.Chave = "submenu"; componente.Get(); if (componente.Conteudo == null) { return(""); } Programa programa = Programa.Current(); Campanha campanha = Campanha.Current(); var paginas = new DataBase.Pagina().GetPaginasFilhas(this, idPaginaPai, usuario.IDUsuario, cliente.IDCliente, (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null));; if (paginas.Count < 1) { return(""); } Velocity.Init(); var writer = new StringWriter(); var context = new VelocityContext(); context.Put("area", Pagina.GetAreaCorrente(false)); context.Put("site", Pagina.Site()); context.Put("paginaPai", paginaPai); context.Put("submenu", paginas); var pagina = Pagina.Current(); if (pagina != null) { context.Put("pagina_corrente", pagina); } Velocity.Evaluate(context, writer, "", componente.Conteudo); return(writer.GetStringBuilder().ToString()); }