예제 #1
0
        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()));
        }
예제 #2
0
        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());
        }
예제 #3
0
        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());
        }