none
novo Usuario criado toma o lugar do Usuario logado no sistema RRS feed

  • Pergunta

  • galera estou com um problema em meu sistema no visual studio, vou dar um exemplo, 

    estou criando um sistema em capas e (Pai e Filho)

    eu entro no sistema como Administrador, com logim tudo correto,  

    quando eu crio um novo usuario no form Usuários (Filho) o novo usuario fica logado no lugar do Administrador,

    SERÁ QUE ALGUEM PODERIA ME DAR UMA LUZ?

    vou deixar uma parte do codigo para a galera dar uma olhada

    DESCULPEM A BAGUNÇA, ESTOU MECHENDO EM TUDO...

    Form de Usuarios

    private void btnSalvar_Click(object sender, EventArgs e)
            {
                //DialogResult Resultado = new DialogResult();
                //FrmSucess frm = new FrmSucess("Esta Seguro de Criar este Registro de " + txtNomeUsuario.Text + "?");
                //Resultado = frm.ShowDialog();
                if (txtNomeUsuario.Text != "")
                {
                    //if (Resultado == DialogResult.OK)
                    //{
                        modeloTecnico.Salvar(PreencherInformacoes());
    
                    //modeloTecnico.verificaexistencia(txtNomeLogin.Text);
                    FrmSucess.ConfimacaoForm("O Registro de " + txtNomeUsuario.Text + " foi Criado com sucesso.");
    
                        //AtualziarLsitaDeClientes();
                    //}
                }
                else if (txtNomeLogin.Text == "")
                {
                    FrmSeNao.SeNao("O Campo Login é Obrigatório.");
                    //MessageBox.Show("O Campo Login é Obrigatório.");
                }
                else if (txtSenhaLogin.Text == "")
                {
                    FrmSeNao.SeNao("O Campo Senha é Obrigatório.");
                    //MessageBox.Show("O Campo Senha é Obrigatório.");
                }
                else
                {
                    FrmSeNao.SeNao("O Campo Nome não deveser vasio.");
                    //MessageBox.Show("O Campo Nome não deveser vasio.");
                }
                ResetDados();           
                //modeloTecnico.Login(cacheTecnico.Login, cacheTecnico.Senha);
            }
    private CacheTecnico PreencherInformacoes()
            {
                CacheTecnico PessoaBase = new CacheTecnico();
                //modeloTecnico.Login(PessoaBase.Login, PessoaBase.Senha);
                PessoaBase.Login = txtNomeLogin.Text;
                PessoaBase.Senha = txtSenhaLogin.Text;
                PessoaBase.Nome = txtNomeUsuario.Text;
                PessoaBase.Nivel = txtNivelAceso.Text;
                PessoaBase.Email = txtEmail.Text;
    
                PessoaBase.Id_Tc = Convert.ToInt32(Id_User);
    
                return PessoaBase;
            }

    Class Medelo

    public void Salvar(CacheTecnico Tecnico) { if (Dtecnico.VerificarExistencia(Tecnico.Login) == false) { Login(Tecnico.Login, Tecnico.Senha); Dtecnico.CriarTecnico(Tecnico); } }

    public DataTable CarregaLista()
            {
                DataTable tabela = new DataTable();
                tabela = Dtecnico.CarregarLista();
                return tabela;
            }

    Class Dados

    public bool VerificarExistencia(string Login) { bool PessoaEncontrada = false; using (var comando = new SqlCommand()) { comando.Connection = conexao.ObjetConexao; conexao.Conectar(); DataTable Tabela; SqlCommand cmd = new SqlCommand(); Tabela = new DataTable("Usuarios"); cmd.CommandText = "select * from Tecnicos where Login = @login "; cmd.Parameters.AddWithValue("@login", Login); //cmd.Parameters.AddWithValue("@email", Email); SqlDataReader dr; try { cmd.Connection = conexao.ObjetConexao; dr = cmd.ExecuteReader(); if (dr.HasRows) { PessoaEncontrada = true; } } catch (Exception) { PessoaEncontrada = false; } conexao.Desconectar(); return PessoaEncontrada; } }

    public bool LoginTecnico(string Login, string Senha)
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.Connection = conexao.ObjetConexao;
                    conexao.Conectar();
                    cmd.CommandText = "select * From Tecnicos where Login = @Login and Senha = @Senha";
                    cmd.Parameters.AddWithValue("@Login", Login);
                    cmd.Parameters.AddWithValue("@Senha", Senha);
                    cmd.CommandType = CommandType.Text;
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            cacheTecnico.Id_Tc = reader.GetInt32(0);
                            cacheTecnico.Login = reader.GetString(1);
                            cacheTecnico.Senha = reader.GetString(2);
                            cacheTecnico.Nome = reader.GetString(3);
                            cacheTecnico.Nivel = reader.GetString(4);
                            cacheTecnico.Email = reader.GetString(5);
                        }
                        return true;
                    }
                    else if (reader.HasRows == false)
                    {
                        reader.Close();
                    }
                    return false;
                }
            }

    public DataTable CarregarLista()
            {
                SqlCommand cmd = new SqlCommand();
                DataTable tabela = new DataTable("Clientes");
                conexao.Conectar();
                cmd.Connection = conexao.ObjetConexao;
                //cmd.CommandText = "select * From Clientes";
                SqlDataAdapter da = new SqlDataAdapter("Select * from Tecnicos where id_Tc like '%" + "" + "%'", conexao.StringConexao);
                da.Fill(tabela);
                try
                {

                    cmd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                }
                conexao.Desconectar();
                return tabela;
            }


    estou a dias tentando resolver isso e não consegui, peço ajuda de todos se possível. um abraço!

    segunda-feira, 19 de outubro de 2020 02:28

Respostas

  • O que você vai ter de fazer ai é ir depurando linha por linha para achar o erro, com f11. Olhar onde está sendo alterado variáveis globais por exemplo.
    terça-feira, 20 de outubro de 2020 15:41
    Moderador

Todas as Respostas

  • olá,

    o problema deve está aqui, voce chama a função de logar de novo

     if (Dtecnico.VerificarExistencia(Tecnico.Login) == false)
                { 
                // ==>  Login(Tecnico.Login, Tecnico.Senha);      
                    Dtecnico.CriarTecnico(Tecnico);
                    
                }

    segunda-feira, 19 de outubro de 2020 13:11
    Moderador
  • Ola Titodj7 

    Gostaria de saber se a resposta acima ajudou a resolver seu problema.

    segunda-feira, 19 de outubro de 2020 18:35
    Moderador
  • olá,

    o problema deve está aqui, voce chama a função de logar de novo

     if (Dtecnico.VerificarExistencia(Tecnico.Login) == false)
                { 
                // ==>  Login(Tecnico.Login, Tecnico.Senha);      
                    Dtecnico.CriarTecnico(Tecnico);
                    
                }

    aqui eu tento chamar usuario logado, já comentei esta parte mas não resolveu...  

     criei um video para entender melhor o problema

    Video de exemplo


    • Editado Titodj7 terça-feira, 20 de outubro de 2020 02:57
    segunda-feira, 19 de outubro de 2020 23:10
  • O que você vai ter de fazer ai é ir depurando linha por linha para achar o erro, com f11. Olhar onde está sendo alterado variáveis globais por exemplo.
    terça-feira, 20 de outubro de 2020 15:41
    Moderador