コード例 #1
0
        public void Materializar(int id)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT T1.{2}, T2.{3}, Nome, Email, Sexo, DataNascimento
            FROM {0} T1
            INNER JOIN {1} T2 on T1.IdUsuario = T2.IdUsuario
            WHERE 1=1 AND {2} = {4}
            ", this.Tabela, this.Usuario.Tabela, this.ChavePrimaria, this.Usuario.ChavePrimaria, id);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID = Conversoes.Inteiro32(leitor.GetValor(this.ChavePrimaria));

                int idUsuario = Conversoes.Inteiro32(leitor.GetValor("IdUsuario"));
                this.Usuario.Materializar(idUsuario);

                this.Nome           = leitor.GetValor("Nome").ToString();
                this.Email          = leitor.GetValor("Email").ToString();
                this.Sexo           = Conversoes.Char(leitor.GetValor("Sexo"));
                this.DataNascimento = Conversoes.DataHora(leitor.GetValor("DataNascimento"));

                this.Materializado = true;
            }
        }
コード例 #2
0
        public void Materializar(long id, bool materializarClasses)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT T1.{1}, T1.NomePersonagem, T1.DataCadastro, T1.Confirmado, T2.PontosXP
            FROM {0} T1
            LEFT JOIN GeNova_PontosDeExperiencia T2 ON T1.IdPersonagem = T2.IdPersonagem
            WHERE 1=1
              AND T1.{1} = {2}
            ", this.Tabela, this.ChavePrimaria, id);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID                = Conversoes.Inteiro64(leitor.GetValor(this.ChavePrimaria));
                this.Conta.ID          = Conversoes.Inteiro32(leitor.GetValor(this.Conta.ChavePrimaria));
                this.Nome              = leitor.GetValor("NomePersonagem").ToString();
                this.DataCriacao       = Conversoes.DataHora(leitor.GetValor("DataCadastro"));
                this.Confirmado        = Conversoes.Booleano(leitor.GetValor("Confirmado"));
                this.PontosExperiencia = Conversoes.Inteiro32(leitor.GetValor("PontosXP").ToString());

                if (materializarClasses)
                {
                    this.Conta.Materializar(this.Conta.ID);
                }

                this.Materializado = true;
            }
        }
コード例 #3
0
        public void Materializar(long id, bool materializarClasses)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT {2}, {3}, Entrada, Saida, IP 
            FROM {0} T1 
            INNER JOIN {1} T2 ON T1.{3} = T2.{3} 
            WHERE T1.{2} = {4}
            ", this.Tabela, this.Conta.Tabela, this.ChavePrimaria, this.Conta.ChavePrimaria, id);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID       = Conversoes.Inteiro64(leitor.GetValor(this.ChavePrimaria));
                this.Conta.ID = Conversoes.Inteiro32(leitor.GetValor(this.Conta.ChavePrimaria));
                this.Entrada  = Conversoes.DataHora(leitor.GetValor("Entrada"));
                this.Saida    = Conversoes.DataHora(leitor.GetValor("Saida"));
                this.IP       = leitor.GetValor("IP").ToString();

                if (materializarClasses)
                {
                    this.Conta.Materializar(this.Conta.ID);
                }

                this.Materializado = true;
            }
        }
コード例 #4
0
        public void Materializar()
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT {1}, Descricao, IP, Porta, ClienteRequerido, UsuariosOnline, TotalMobiles, TotalItens, TempoOnline, DataHoraIniciado
            FROM {0}
            ORDER BY {1} DESC
            LIMIT 1
            ", this.Tabela, this.ChavePrimaria);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID               = Conversoes.Inteiro32(leitor.GetValor(this.ChavePrimaria));
                this.Descricao        = leitor.GetValor("Descricao").ToString();
                this.IP               = leitor.GetValor("IP").ToString();
                this.Porta            = leitor.GetValor("Porta").ToString();
                this.ClienteRequerido = leitor.GetValor("ClienteRequerido").ToString();
                this.UsuariosOnline   = leitor.GetValor("UsuariosOnline").ToString();
                this.TotalMobiles     = leitor.GetValor("TotalMobiles").ToString();
                this.TotalItens       = leitor.GetValor("TotalItens").ToString();

                string strTempoOnline = leitor.GetValor("TempoOnline").ToString();
                strTempoOnline   = strTempoOnline.Substring(0, (strTempoOnline.Length - 3));
                this.TempoOnline = Conversoes.DataHora(strTempoOnline);

                this.DataHoraIniciado = Conversoes.DataHora(leitor.GetValor("DataHoraIniciado"));
                this.Materializado    = true;
            }
        }
コード例 #5
0
        public void Materializar(int id)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT {1}, Login, Senha, NomeCompleto, DataNascimento, Sexo, CPF, RG, Email, DataCriacaoConta, Doador, Ativo
            FROM {0}
            WHERE {1} = {2}
            ", this.Tabela, this.ChavePrimaria, id);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID               = Conversoes.Inteiro32(leitor.GetValor(this.ChavePrimaria));
                this.Login            = leitor.GetValor("Login").ToString();
                this.Senha            = leitor.GetValor("Senha").ToString();
                this.NomeCompleto     = leitor.GetValor("NomeCompleto").ToString();
                this.DataNascimento   = Conversoes.DataHora(leitor.GetValor("DataNascimento"));
                this.Sexo             = Conversoes.Char(leitor.GetValor("Sexo"));
                this.CPF              = leitor.GetValor("CPF").ToString();
                this.RG               = leitor.GetValor("RG").ToString();
                this.Email            = leitor.GetValor("Email").ToString();
                this.DataCriacaoConta = Conversoes.DataHora(leitor.GetValor("DataCriacaoConta"));
                this.Doador           = Conversoes.Booleano(leitor.GetValor("Doador"));
                this.Ativo            = Conversoes.Booleano(leitor.GetValor("Ativo"));
                this.Materializado    = true;
            }
        }
コード例 #6
0
        public static void Autenticar(string login, string senha)
        {
            // Previnindo Sql Injection
            SqlUtils.PrevencaoSqlInjection(ref login);
            SqlUtils.PrevencaoSqlInjection(ref senha);

            ObjUsuario usuario = new ObjUsuario();

            StringBuilder query = new StringBuilder();

            query.AppendLine("SELECT IdUsuario");
            query.AppendFormat("FROM {0}\n", _usuarioBase.Tabela);
            query.AppendFormat("WHERE 1=1 AND Login = '******'", login);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                int idUsuario = Conversoes.Inteiro32(leitor.GetValor("IdUsuario"));
                usuario.Materializar(idUsuario);
            }
            else
            {
                throw new UsuarioNaoExisteException(Erros.MsgUsuarioInexistente);
            }

            usuario.Autenticar(senha);
            UsuarioCorrenteSingleton.Istance.Usuario = usuario;
        }
コード例 #7
0
        private int GetTotaldeConfiguracoesExistenteStub()
        {
            StringBuilder sql = new StringBuilder();
            sql.AppendFormat(@"
            SELECT COUNT(DISTINCT {1}) AS Total
            FROM {0}
            ", this.Configuracao.Tabela, this.Configuracao.ChavePrimaria);

            LeitorFacade leitor = new LeitorFacade(sql);
            int totaldeRegistros = leitor.LerLinha() ? Conversoes.ToInt32(leitor.GetValor(Valor.Zero)) : Valor.Zero;
            leitor.Fechar();

            return totaldeRegistros;
        }
コード例 #8
0
        private int GetTotaldeConfiguracoesExistenteStub()
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendFormat(@"
            SELECT COUNT(DISTINCT {1}) AS Total
            FROM {0}
            ", this.Configuracao.Tabela, this.Configuracao.ChavePrimaria);

            LeitorFacade leitor           = new LeitorFacade(sql);
            int          totaldeRegistros = leitor.LerLinha() ? Conversoes.ToInt32(leitor.GetValor(Valor.Zero)) : Valor.Zero;

            leitor.Fechar();

            return(totaldeRegistros);
        }
コード例 #9
0
        public static ObjShardAccount GetAccount(string login)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT {1}
            FROM {0}
            WHERE Login = '******'
            ", _shardAccountBase.Tabela, _shardAccountBase.ChavePrimaria, login);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                int id = Conversoes.Inteiro32(leitor.GetValor(_shardAccountBase.ChavePrimaria));
                return(new ObjShardAccount(id));
            }
            throw new Exception(Erros.NaoEncontrado("Shard Account"));
        }
コード例 #10
0
        public static ObjUsuario GetUsuarioPorLogin(string login)
        {
            StringBuilder query = new StringBuilder();

            query.AppendLine("SELECT IdUsuario");
            query.AppendFormat("FROM {0}\n", _usuarioBase.Tabela);
            query.AppendFormat("WHERE 1=1 AND Login = '******'", login);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                int idUsuario = Conversoes.Inteiro32(leitor.GetValor("IdUsuario"));
                if (idUsuario > 0)
                {
                    return(new ObjUsuario(idUsuario));
                }
            }
            throw new Exception(Erros.NaoEncontrado("Web User"));
        }
コード例 #11
0
        public void Materializar(int idUsuario)
        {
            StringBuilder query = new StringBuilder();

            query.AppendLine("SELECT IdUsuario, Login, Senha, Tipo, Avatar");
            query.AppendFormat("FROM {0}\n", this.Tabela);
            query.AppendFormat("WHERE 1=1 AND {0} = {1}", this.ChavePrimaria, idUsuario);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID             = Conversoes.Inteiro32(leitor.GetValor("IdUsuario"));
                this.Login          = leitor.GetValor("Login").ToString();
                this.Senha          = leitor.GetValor("Senha").ToString();
                this.Tipo           = (TipoUsuario)Conversoes.Inteiro32(leitor.GetValor("Tipo"));
                this.Avatar         = leitor.GetValor("Avatar").ToString();
                this._materializado = true;
            }
        }
コード例 #12
0
        public static bool ValidateTheExistenceOfLink(string loginUsuario, string loginShardAccount)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT *
            FROM {0}
            WHERE 1=1
              AND IdGeNovaWebUsuario = (SELECT IdUsuario FROM GeNova_Web_Usuario WHERE Login = '******')
              AND IdGeNovaUsuario = (SELECT IdUsuario FROM GeNova_Usuario WHERE Login = '******')
            ", _usuarioContaBase.Tabela, loginUsuario, loginShardAccount);

            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                return(true);
            }

            return(false);
        }
コード例 #13
0
        public static ObjPessoa GetPessoa(string loginUsuario)
        {
            ObjUsuario usuario = ControladorUsuario.GetUsuarioPorLogin(loginUsuario);

            StringBuilder query = new StringBuilder();

            query.AppendFormat("SELECT {0}\n", _pessoaBase.ChavePrimaria);
            query.AppendFormat("FROM {0}\n", _pessoaBase.Tabela);
            query.AppendFormat("WHERE 1=1 AND {0} = {1}", usuario.ChavePrimaria, usuario.ID);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                int idPessoa = Conversoes.Inteiro32(leitor.GetValor("IdPessoa"));
                if (idPessoa > 0)
                {
                    return(new ObjPessoa(idPessoa));
                }
            }
            throw new Exception(Erros.NaoEncontrado("Person - Web Account"));
        }
コード例 #14
0
        public static void PreencherDropDownList(DropDownList dropDownList, LeitorFacade leitor, string nomeColunaDescricao, string nomeColunaValor, bool permitirSelecionarTodos)
        {
            dropDownList.Items.Clear();

            while (leitor.LerLinha())
            {
                string descricao = leitor.GetValor(nomeColunaDescricao).ToString();
                string valor     = leitor.GetValor(nomeColunaValor).ToString();

                ListItem item = new ListItem(descricao, valor);
                dropDownList.Items.Add(item);
            }

            if (permitirSelecionarTodos)
            {
                dropDownList.Items.Insert(0, new ListItem("..Selecionar todos..", "0"));
            }
            else
            {
                dropDownList.Items.Insert(0, new ListItem("..Selecione..", "0"));
            }
        }
コード例 #15
0
        public void Materializar(int id, bool materializarClasses)
        {
            StringBuilder query = new StringBuilder();

            query.AppendFormat(@"
            SELECT {1}, IdGeNovaWebUsuario, IdGeNovaUsuario
            FROM {0}
            WHERE {1} = {2}
            ", this.Tabela, this.ChavePrimaria, id);
            LeitorFacade leitor = new LeitorFacade(query);

            if (leitor.LerLinha())
            {
                this.ID         = Conversoes.Inteiro32(leitor.GetValor("IdUsuarioConta"));
                this.Usuario.ID = Conversoes.Inteiro32(leitor.GetValor("IdGeNovaWebUsuario"));
                this.Conta.ID   = Conversoes.Inteiro32(leitor.GetValor("IdGeNovaUsuario"));
                if (materializarClasses)
                {
                    this.Usuario.Materializar(this.Usuario.ID);
                    this.Conta.Materializar(this.Conta.ID);
                }
                this.Materializado = true;
            }
        }
コード例 #16
0
 public static void PreencherDropDownList(DropDownList dropDownList, LeitorFacade leitor, string nomeColunaDescricao, string nomeColunaValor)
 {
     PreencherDropDownList(dropDownList, leitor, nomeColunaDescricao, nomeColunaValor, false);
 }