private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUsuarioLogin.Text == "" || txtSenhaLogin.Text == "")
            {
                MessageBox.Show("Informe um usuário e a senha.");
                return;
            }
            try
            {
                LoginDTO login = new LoginDTO();
                login.LOG_USUARIO = txtUsuarioLogin.Text;
                login.LOG_SENHA = txtSenhaLogin.Text;

                if (bll.AutenticarUsuario(login) == false)
                {
                    MessageBox.Show("Usuario ou Senha invalidas!");
                }
                else
                {
                    MessageBox.Show("Bem-Vindo " + txtUsuarioLogin.Text);
                    FrmPrincipal p = new FrmPrincipal();
                    UsuarioLogadoDTO.UsuarioLogado = txtUsuarioLogin.Text;
                    p.Show();
                    this.Visible = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro " + ex.Message);
            }
        }
        public override bool Atualizar()
        {
            if (txtUsuario.Text == "")
            {
                MessageBox.Show("Selecione um usuário!");
                return false;
            }
            else
            {
                var result = MessageBox.Show("Deseja realmente atualizar esse usuario?", "Atualização de Dados", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (result == DialogResult.Yes)
                {
                    lbDataCadastro.Visible = false;
                    dTPDataCadastro.Visible = false;
                    cBCPF.Focus();
                    cBPrivilegio.Focus();

                    LoginDTO dto = new LoginDTO();
                    dto.FUNC_CPF = cBCPF.SelectedValue.ToString();
                    dto.LOG_USUARIO = txtUsuario.Text;
                    dto.LOG_SENHA = txtSenha.Text;
                    dto.LOG_PRIVILEGIO = cBPrivilegio.SelectedText;
                    dto.LOG_ATUALIZADOEM = DateTime.Parse(dTPAtualizacaoCad.Text);

                    bll.Atualizar(dto);
                    CarregaGrid();
                    LimpaControles();
                    return true;
                }
            }

            return false;
        }
        public void Excluir(LoginDTO login)
        {
            try
            {
                con = new ConexaoDAL();
                con.Conectar();

                SqlCommand commando = new SqlCommand();
                commando.Connection = con.Conexao;

                commando.CommandText = "DELETE FROM LOGIN WHERE FUNC_CPF = @FUNC_CPF ";
                commando.Parameters.Add("@FUNC_CPF", SqlDbType.Int);
                commando.Parameters["@FUNC_CPF"].Value = login.FUNC_CPF;

                commando.ExecuteNonQuery();

                con.Desconectar();

            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);

            }
        }
        public bool AutenticarUsuario(LoginDTO login)
        {
            try
            {
                conexaodao = new ConexaoDAL();

                SqlCommand cmd = new SqlCommand("select * from LOGIN where LOG_USUARIO = @LOG_USUARIO AND LOG_SENHA = @LOG_SENHA", conexaodao.Conexao);

                SqlParameter parametroUsuario = new SqlParameter("@LOG_USUARIO", SqlDbType.VarChar, 50);
                parametroUsuario.Value = login.LOG_USUARIO;
                cmd.Parameters.Add(parametroUsuario);

                SqlParameter parametroSenha = new SqlParameter("@LOG_SENHA", SqlDbType.VarChar, 6);
                parametroSenha.Value = login.LOG_SENHA;
                cmd.Parameters.Add(parametroSenha);

                //SqlParameter parametroPrivilegio = new SqlParameter("@LOG_PRIVILEGIO", SqlDbType.VarChar, 6);
                //parametroPrivilegio.Value = login.LOG_PRIVILEGIO;
                //cmd.Parameters.Add(parametroPrivilegio);

                conexaodao.Conexao.Open();

                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    //usuario existe
                    return true;
                }
                else
                {
                    //usuario nao existe
                    return false;
                }
            }
            catch (Exception)
            {
                return false;
                throw;
            }
        }
        public void Atualizar(LoginDTO login)
        {
            try
            {
                con = new ConexaoDAL();
                con.Conectar();

                SqlCommand commando = new SqlCommand();
                commando.Connection = con.Conexao;

                commando.CommandText = "UPDATE LOGIN SET  LOG_USUARIO = @LOG_USUARIO, LOG_SENHA = @LOG_SENHA,LOG_PRIVILEGIO = @LOG_PRIVILEGIO,LOG_ATUALIZADOEM = @LOG_ATUALIZADOEM WHERE FUNC_CPF = @FUNC_CPF";

                commando.Parameters.Add("@FUNC_CPF", SqlDbType.VarChar, 15);
                commando.Parameters["@FUNC_CPF"].Value = login.FUNC_CPF;

                commando.Parameters.Add("@LOG_USUARIO", SqlDbType.VarChar, 50);
                commando.Parameters["@LOG_USUARIO"].Value = login.LOG_USUARIO;

                commando.Parameters.Add("@LOG_SENHA", SqlDbType.VarChar, 6);
                commando.Parameters["@LOG_SENHA"].Value = login.LOG_SENHA;

                commando.Parameters.Add("@LOG_PRIVILEGIO", SqlDbType.VarChar, 50);
                commando.Parameters["@LOG_PRIVILEGIO"].Value = login.LOG_PRIVILEGIO;

                commando.Parameters.Add("@LOG_ATUALIZADOEM", SqlDbType.DateTime);
                commando.Parameters["@LOG_ATUALIZADOEM"].Value = login.LOG_ATUALIZADOEM;

                commando.ExecuteNonQuery();

                con.Desconectar();

            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);

            }
        }
        public void Salvar(LoginDTO login)
        {
            try
            {
                con = new ConexaoDAL();
                con.Conectar();

                SqlCommand commando = new SqlCommand();
                commando.Connection = con.Conexao;

                commando.CommandText = "INSERT INTO LOGIN(FUNC_CPF,LOG_USUARIO,LOG_SENHA,LOG_DATACADASTRO,LOG_PRIVILEGIO) VALUES (@FUNC_CPF,@LOG_USUARIO,@LOG_SENHA,@LOG_DATACADASTRO,@LOG_PRIVILEGIO)";
                commando.Parameters.Add("@FUNC_CPF", SqlDbType.VarChar, 15);
                commando.Parameters["@FUNC_CPF"].Value = login.FUNC_CPF;

                commando.Parameters.Add("@LOG_USUARIO", SqlDbType.VarChar, 50);
                commando.Parameters["@LOG_USUARIO"].Value = login.LOG_USUARIO;

                commando.Parameters.Add("@LOG_SENHA", SqlDbType.VarChar, 6);
                commando.Parameters["@LOG_SENHA"].Value = login.LOG_SENHA;

                commando.Parameters.Add("@LOG_PRIVILEGIO", SqlDbType.VarChar, 50);
                commando.Parameters["@LOG_PRIVILEGIO"].Value = login.LOG_PRIVILEGIO;

                commando.Parameters.Add("@LOG_DATACADASTRO", SqlDbType.DateTime);
                commando.Parameters["@LOG_DATACADASTRO"].Value = login.LOG_DATACADASTRO;

                commando.ExecuteNonQuery();

                con.Desconectar();

            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);

            }
        }
        public override bool Salvar()
        {
            //string cpf;
            //cpf = cBCPF.Text;

                if (cBCPF.SelectedText == "" && txtUsuario.Text == "" && txtSenha.Text == "" && cBPrivilegio.SelectedText == "")
                {

                    MessageBox.Show("Preencha todos os campos!");

                }
                else
                {

                        LoginDTO dto = new LoginDTO();
                        dto.FUNC_CPF = cBCPF.SelectedValue.ToString();
                        dto.LOG_USUARIO = txtUsuario.Text;
                        dto.LOG_SENHA = txtSenha.Text;
                        dto.LOG_PRIVILEGIO = cBPrivilegio.SelectedText;
                        dto.LOG_DATACADASTRO = DateTime.Parse(dTPDataCadastro.Text);

                //if (bll.VerificaDados(cpf))
                //{
                //    MessageBox.Show("Esse Cpf ja possui um login cadastrado!");
                //}else
                //{
                    bll.Salvar(dto);
                    LimpaControles();
                    CarregaGrid();
                    //return false;
                //}

            }
            return true;
        }
        public override bool Excluir()
        {
            if (cBCPF.SelectedText == "")
            {
                MessageBox.Show("Escolha um cpf para deletar!");
                return false;
            }
            else
            {
                var result = MessageBox.Show("Deseja realmente deletar esse usuario?", "Exclusão de Login", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (result == DialogResult.Yes)
                {
                    LoginDTO dto = new LoginDTO();
                    dto.FUNC_CPF = cBCPF.SelectedValue.ToString();

                    bll.Excluir(dto);
                    LimpaControles();
                    CarregaGrid();
                    return true;
                }
            }

            return false;
        }