public void SetAcesso(string slugCliente, string slugPrograma, string slugCampanha)
        {
            if (slugCliente.Contains('.') || slugPrograma.Contains('.') || slugCampanha.Contains('.')) return;
            Cliente cliente = new Cliente(slugCliente);
            cliente.Get();
            if (cliente.IDCliente != null)
            {
                Cliente.Dispose();
                Programa.Dispose();
                Campanha.Dispose();

                cliente.BuscaAdicionaCurrent();

                Programa programa = new Programa(slugPrograma);
                programa.Cliente = cliente;
                programa.Get();

                if (programa.IDPrograma != null)
                {
                    programa.BuscaAdicionaCurrent();

                    Campanha campanha = new Campanha(slugCampanha);
                    campanha.Programa = programa;
                    campanha.Get();

                    if (campanha.IDCampanha != null)
                    {
                        campanha.BuscaAdicionaCurrent();
                    }
                }
            }
            else Cliente.Dispose();
        }
예제 #2
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()));
        }
예제 #3
0
        private static Pagina GetPaginaErro(string slugPagina)
        {
            if (slugPagina == Pagina.ERROR404 || slugPagina == Pagina.ERROR403)
            {
                string  area    = string.Empty;
                Cliente cliente = Cliente.Current();
                if (cliente != null)
                {
                    area += "-" + cliente.Slug;
                }

                Programa programa = Programa.Current();
                if (programa != null)
                {
                    area += "-" + programa.Slug;
                }

                Campanha campanha = Campanha.Current();
                if (campanha != null)
                {
                    area += "-" + campanha.Slug;
                }

                var pagina = (Pagina) new DataBase.Pagina().BuscarPagina(new Pagina(), slugPagina,
                                                                         (int)cliente.IDCliente, (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null));
                if (pagina.IDPagina != null)
                {
                    return(pagina);
                }

                return(new Pagina(0, new Template(0, slugPagina)));
            }
            return(null);
        }
예제 #4
0
        public static Pagina HomePrograma()
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(null);
            }

            Programa programa = Programa.Current();

            if (programa == null)
            {
                return(null);
            }

            Usuario user = Usuario.Current();

            Pagina pagina = null;

            if (user != null)
            {
                pagina = (Pagina) new DataBase.Pagina().BuscarHomePaginaRestrito(new Pagina(), (int)cliente.IDCliente, programa.IDPrograma, null, user.IDUsuario);
            }
            else
            {
                pagina = (Pagina) new DataBase.Pagina().BuscarHomePagina(new Pagina(), (int)cliente.IDCliente, programa.IDPrograma, null);
            }

            return(validaPagina(pagina));
        }
예제 #5
0
        public Log BuscaUltimoAcesso()
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(null);
            }

            Usuario usuario = Usuario.Current();

            if (usuario == null)
            {
                return(null);
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            var log = (Log) new DataBase.Log().BuscaUltimoAcesso(this, (int)cliente.IDCliente,
                                                                 (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null), (int)usuario.IDUsuario);

            if (log == null)
            {
                log      = new Log();
                log.Data = DateTime.Now;
            }
            return(log);
        }
예제 #6
0
        public static bool SenhaEstaCriptografada()
        {
            var configuracaoSenha = new ConfiguracaoSenha();

            configuracaoSenha.Programa = Programa.Current();
            configuracaoSenha.Cliente  = Cliente.Current();
            configuracaoSenha.Campanha = Campanha.Current();
            configuracaoSenha.Get();
            if (configuracaoSenha.IDConfiguracaoSenha != null && (bool)configuracaoSenha.SenhaCriptografada)
            {
                return(true);
            }
            return(false);
        }
예제 #7
0
        public static LIType GetPaginas(string dsPagina, bool restrito)
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(null);
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            return(new DataBase.Pagina().BuscarPaginas(new Pagina(), dsPagina, restrito, cliente.IDCliente,
                                                       (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null)));;
        }
예제 #8
0
        public static int GetQuantidadePaginas(bool restrito)
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(0);
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            return(new DataBase.Pagina().GetQuantidadePaginas(new Pagina(), restrito, cliente.IDCliente,
                                                              (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null)));
        }
예제 #9
0
        public LIType GetPaginasPai()
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(new LIType());
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            return(new DataBase.Pagina().GetPaginasPai(this, this.IDPagina, cliente.IDCliente,
                                                       (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null)));;
        }
예제 #10
0
        public static Pagina GetPaginaCampanha(string slugPagina)
        {
            var paginaErro = GetPaginaErro(slugPagina);

            if (paginaErro != null)
            {
                return(paginaErro);
            }

            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(null);
            }

            Programa programa = Programa.Current();

            if (programa == null)
            {
                return(null);
            }

            Campanha campanha = Campanha.Current();

            if (campanha == null)
            {
                return(null);
            }

            Usuario user = Usuario.Current();

            Pagina pagina = null;

            if (user != null)
            {
                pagina = (Pagina) new DataBase.Pagina().BuscarPaginaRestrita(new Pagina(), slugPagina,
                                                                             (int)cliente.IDCliente, programa.IDPrograma, campanha.IDCampanha, user.IDUsuario);
            }
            else
            {
                pagina = (Pagina) new DataBase.Pagina().BuscarPagina(new Pagina(), slugPagina,
                                                                     (int)cliente.IDCliente, programa.IDPrograma, campanha.IDCampanha);
            }

            return(validaPagina(pagina));
        }
예제 #11
0
        public static Programa Current()
        {
            string cookie     = Cookie.Get(KeyPrograma());
            int    idPrograma = 0;

            if (!int.TryParse(cookie, out idPrograma))
            {
                return(null);
            }
            if (idPrograma == 0)
            {
                return(null);
            }

            var programa = new Programa(idPrograma);

            programa.Get();
            return(programa);
        }
예제 #12
0
        public static List <Pagina> GetPaginasUsuario()
        {
            var usuario = Usuario.Current();
            var paginas = new List <Pagina>();

            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(paginas);
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            var iPaginas = new DataBase.Pagina().BuscarPaginasUsuario(new Pagina(), (usuario != null ? usuario.IDUsuario : null), cliente.IDCliente,
                                                                      (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null));

            iPaginas.ForEach(ip => paginas.Add((Pagina)ip));
            return(paginas);
        }
예제 #13
0
        public bool Logon(string login, string senha)
        {
            if (string.IsNullOrEmpty(login))
            {
                return(false);
            }
            if (string.IsNullOrEmpty(senha))
            {
                return(false);
            }

            this.Login = login;
            this.Senha = senha;
            this.Get();
            if (this.IDUsuario == null)
            {
                return(false);
            }
            if (!this.Ativo)
            {
                return(false);
            }
            AdicionaSessao();

            if (Cliente.Current() != null)
            {
                var log = new Log();
                log.Descricao = "Usuário " + this.Login + " acessou o sitema em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm");
                log.Usuario   = this;
                log.Cliente   = Cliente.Current();
                log.Programa  = Programa.Current();
                log.Campanha  = Campanha;
                log.Tipo      = TipoLog.Login;
                log.Data      = DateTime.Now;
                log.Save();
            }

            return(true);
        }
예제 #14
0
        public int BuscaQuantidadeAcesso()
        {
            Cliente cliente = Cliente.Current();

            if (cliente == null)
            {
                return(0);
            }

            Usuario usuario = Usuario.Current();

            if (usuario == null)
            {
                return(0);
            }

            Programa programa = Programa.Current();
            Campanha campanha = Campanha.Current();

            return(new DataBase.Log().BuscaQuantidadeAcesso(this, (int)cliente.IDCliente,
                                                            (programa != null ? programa.IDPrograma : null), (campanha != null ? campanha.IDCampanha : null), (int)usuario.IDUsuario));
        }
예제 #15
0
 public Campanha(Programa programa)
 {
     this.Programa = programa;
 }
예제 #16
0
 public Campanha(Programa programa)
 {
     this.Programa = programa;
 }
예제 #17
0
        public static Programa Current()
        {
            string cookie = Cookie.Get(KeyPrograma());
            int idPrograma = 0;
            if (!int.TryParse(cookie, out idPrograma)) return null;
            if (idPrograma == 0) return null;

            var programa = new Programa(idPrograma);
            programa.Get();
            return programa;
        }
예제 #18
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());
        }