Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Como crio checkbox em C# para permitir acesso as abas do menu após cadastro de usuário

$
0
0

@KMG_1 escreveu:

Boa tarde Senhores(a),

Estou tentando criar Checkbox com os nomes dos setores no cadastro de usuários para dar acesso as abas que existem no menu principal do sistema. Exemplo preencho os campos textbox1_código, textbox2_nome e textbox3_login... e na checkbox possui os nomes que aparecem na aba do menu principal como SISTEMA, ALMOXARIFADO, RH, RELATÓRIO entre outros... Se caso eu crio um usuário administrador clico em todas as checkbox e dou permissão a todos os campos e caso crie usuário almoxarifado somente a aba almoxarifado ficará disponível.

Estou utilizando Visual Studio 2015 C# com banco de dados SQL Server 2004

No banco de dados eu criei a tabela chamada cadastro_funcionario para utilizar as checkbox eu criei o nome cad_acessosistema com valor BIT

CREATE TABLE [dbo].[cadastro_funcionario](
[cad_cod]                  [int] IDENTITY (1,1)  NOT NULL,
[cad_nome]              [varchar]          (95)  NULL,
[cad_login]                [varchar]          (95)  NULL,
[cad_senha]              [varchar]          (95)   NULL,
[cad_acessosistema] [bit]                            NULL,
 CONSTRAINT [PK_cadastro_funcionario] PRIMARY KEY CLUSTERED (

No C# eu estou utilizando 3 camadas

NO BOTÃO SALVAR EM CADASTRO DE FUNCIONÁRIOS O CÓDIGO ESTÁ DESSA MANEIRA LOGO ABAIXO EU FIZ O TESTE SEM PRECISAR CONECTAR COM O BANCO DE DADOS EM UM NOVO PROJETO E DEU CERTO UTILIZANDO 3 CHECKBOX E UM BOTAO SALVAR USANDO SOMENTE O COMANDO IF , APÓS TENTAR CRIAR A TABELA NO BANCO DE DADOS E SALVAR O CADASTRO DO FUNCIONÁRIO ELE NÃO ESTÁ SALVANDO E NÃO CONSIGO FAZER COM QUE FUNCIONE AS CHECKBOX. ALGUÉM PODERIA ME ESCLARECER PORQUE NÃO ESTOU CONSEGUINDO SALVAR NO BANCO SE É O CÓDIGO NO C# OU A CRIAÇÃO NO BANCO DE DADOS QUE NÃO ESTÁ CORRETA?

OBRIGADO PELA ATENÇÃO ATE BREVE.

try
            {
                //leitura dos dados
                ModeloCadastroDeFuncionario modelo = new ModeloCadastroDeFuncionario();
                frmPrincipal principal = new frmPrincipal();
                modelo.CadNome = txtNome.Text;
                modelo.CadLogin = txtLogin.Text;
                modelo.CadSenha = txtSenha.Text;
                modelo.CadEmail = txtEmail.Text;
                modelo.CadRamal = txtRamal.Text;
                modelo.CadSetor = txtSetor.Text;
                modelo.CadMatricula = txtMatricula.Text;


                //SISTEMA CHECKBOX
                if (modelo.CadAcessoSistema != null)
                {
                    //SISTEMA
                     chkSistema.Checked = true;
                     principal.mnuSistema.Enabled = true;
                }
                else
                {
                    //SISTEMA
                    chkSistema.Checked = false;
                    principal.mnuSistema.Enabled = false;
                }
                    //SISTEMA CADASTRO
                    if (chkSistemaCadastro.Checked == true)
                    {
                        principal.mnuSitemaCadastro.Enabled = true;
                    }
                    if (chkSistemaCadastro.Checked == false)
                    {
                        principal.mnuSitemaCadastro.Enabled = false;
                    }
                    //SISTEMA CADASTRO FUNCIONARIOS
                    if (chkSistemaFuncionario.Checked == true)
                    {
                        principal.mnuFuncionario.Enabled = true;
                    }
                    if (chkSistemaFuncionario.Checked == false)
                    {
                        principal.mnuFuncionario.Enabled = false;
                    }
 //objeto para gravar os dados no banco
                DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao);
                BBLCadastroDeFuncionarios bll = new BBLCadastroDeFuncionarios(cx);
                if (this.operacao == "inserir")
                {
                    // cadastrar uma categoria
                    bll.Incluir(modelo);
                    MessageBox.Show("Cadastrado efetuado: Código " + modelo.CadCod.ToString(), "Cadastro de Funcionário", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    //alterar uma categoria
                    modelo.CadCod = Convert.ToInt32(txtCodigo.Text);
                    bll.Alterar(modelo);
                    MessageBox.Show("Cadastro alterado com sucesso", "Cadastro de Funcionário", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //mostra a mensagem do cadastro
                }
                this.LimpaTela();
                this.alterabotoes(1);
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
            }
------------------------------------------------------------------------------------------------------------------------------------------
NA CLASSE MODELO EU CRIO O GET E SET.

 namespace MODELO
{
    public class ModeloCadastroDeFuncionario
    {
        //Construtores
        public ModeloCadastroDeFuncionario() 
        {
            this.CadCod = 0;
            this.CadNome = "";
            this.CadLogin = "";
            this.CadSenha = "";
            this.CadEmail = "";
            this.CadSetor = "";
            this.CadRamal = "";
            this.CadMatricula = "";
            //this.CadEmpresa = "";
            //this.CadDtCadastro = DateTime.Now;
            this.CadAcessoSistema = "";
        }
        public ModeloCadastroDeFuncionario(int cod, string nome, string login, string senha, string email, string setor, string ramal, string matricula, string empresa, DateTime dtcadastro, bool CadAcessoSistema)
        {
            this.CadCod = cod;
            this.CadNome = nome;
            this.CadLogin = login;
            this.CadSenha = senha;
            this.CadEmail = email;
            this.CadSetor = setor;
            this.CadRamal = ramal;
            this.CadMatricula = matricula;
            //this.CadEmpresa = empresa;
            //this.CadDtCadastro = dtcadastro;
            this.CadAcessoSistema = cad_acessosistema;
        }
        // Propriedades da Classe
        private int cad_cod;
        public int CadCod
        {
            get { return this.cad_cod; }
            set { this.cad_cod = value; }
        }
        private string cad_nome;
        public string CadNome
        {
            get { return this.cad_nome; }
            set { this.cad_nome = value; }
        }
        private string cad_login;
        public string CadLogin
        {
            get { return this.cad_login; }
            set { this.cad_login = value; }
        }
        private string cad_senha;
        public string CadSenha
        {
            get { return this.cad_senha; }
            set { this.cad_senha = value; }
        }
        private string cad_email;
        public string CadEmail
        {
            get { return this.cad_email; }
            set { this.cad_email = value; }
        }
        private string cad_setor;
        public string CadSetor
        {
            get { return this.cad_setor; }
            set { this.cad_setor = value; }
        }
        private string cad_ramal;
        public string CadRamal
        {
            get { return this.cad_ramal; }
            set { this.cad_ramal = value; }
        }
        private string cad_matricula;
        public string CadMatricula
        {
            get { return this.cad_matricula; }
            set { this.cad_matricula = value; }
        }
        //private string cad_empresa;
        //public string CadEmpresa
        //{
        //    get { return this.CadEmpresa; }
        //    set { this.cad_empresa = value; }
        //}
        //private DateTime cad_dtcadastro;
        //public DateTime CadDtCadastro
        //{
        //    get { return this.cad_dtcadastro; }
        //    set { this.cad_dtcadastro = value; }
        //}
        private string cad_acessosistema;
        public string CadAcessoSistema
        {
            get { return this.cad_acessosistema; }
            set { this.cad_acessosistema = value; }
        }

----------------------------------------------------------------------------------------------

NA CLASSE BLL

public class BBLCadastroDeFun

cionarios
    {
        private DALConexao conexao;

        public BBLCadastroDeFuncionarios(DALConexao cx)
        {
            this.conexao = cx;
        }

        public void Incluir(ModeloCadastroDeFuncionario modelo)
        {
            if (modelo.CadNome.Trim().Length == 0)
            {
                throw new Exception("O cadastro do nome do funcionário é obrigatório ");
            }
            if (modelo.CadLogin.Trim().Length == 0)
            {
                throw new Exception("O cadastro do login do funcionario é obrigatório ");
            }
            if (modelo.CadSenha.Trim().Length == 0)
            {
                throw new Exception("O cadastro da senha do funcionario é obrigatório ");
            }
            if (modelo.CadSetor.Trim().Length == 0)
            {
                throw new Exception("O cadastro do setor do funcionario é obrigatório ");
            }

            string strRegex = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0,9]{1,3})(\\]?)$";
            Regex re = new Regex(strRegex);
            if (!re.IsMatch(modelo.CadEmail))
            {
                throw new Exception("Digite um E-Mail válido !");
            }
            //if (modelo.CadEmail.Trim().Length == 0)
            //{
            //    throw new Exception("O cadastro do E-mail do funcionario é obrigatório ");
            //}
            if (modelo.CadLogin.Trim().Length == 0)
            {
                throw new Exception("O cadastro do login do funcionario é obrigatório ");
            }
            if (modelo.CadRamal.Trim().Length == 0)
            {
                throw new Exception("O cadastro do ramal do funcionario é obrigatório ");
            }
            if (modelo.CadMatricula.Trim().Length == 0)
            {
                throw new Exception("O cadastro da matricula do funcionario é obrigatório ");
            }
            //if (modelo.CadEmpresa.Trim().Length == 0)
            //{
            //    throw new Exception("O cadastro da empresa é obrigatorio");
            //}
            //if (modelo.CadDtCadastro.Trim().Length == 0)
            //{
            //    throw new Exception("A data de cadastro é obrigatório");
            //}

            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            DALobj.Incluir(modelo);
        }

        public void Alterar(ModeloCadastroDeFuncionario modelo)
        {
            if (modelo.CadNome.Trim().Length == 0)
            {
                throw new Exception("O cadastro do nome do funcionário é obrigatório ");
            }
            if (modelo.CadLogin.Trim().Length == 0)
            {
                throw new Exception("O cadastro do login do funcionario é obrigatório ");
            }
            if (modelo.CadSenha.Trim().Length == 0)
            {
                throw new Exception("O cadastro da senha do funcionario é obrigatório ");
            }
            if (modelo.CadSetor.Trim().Length == 0)
            {
                throw new Exception("O cadastro do setor do funcionario é obrigatório ");
            }

            string strRegex = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0,9]{1,3})(\\]?)$";
            Regex re = new Regex(strRegex);
            if (!re.IsMatch(modelo.CadEmail))
            {
                throw new Exception("Digite um E-Mail válido !");
            }
            //if (modelo.CadEmail.Trim().Length == 0)
            //{
            //    throw new Exception("O cadastro do E-mail do funcionario é obrigatório ");
            //}
            if (modelo.CadLogin.Trim().Length == 0)
            {
                throw new Exception("O cadastro do login do funcionario é obrigatório ");
            }
            if (modelo.CadRamal.Trim().Length == 0)
            {
                throw new Exception("O cadastro do ramal do funcionario é obrigatório ");
            }
            if (modelo.CadMatricula.Trim().Length == 0)
            {
                throw new Exception("O cadastro da matricula do funcionario é obrigatório ");
            }
            //if (modelo.CadEmpresa.Trim().Length == 0)
            //{
            //    throw new Exception("O cadastro da empresa é obrigatorio");
            //}
            //if (modelo.CadDtCadastro.Trim().Length == 0)
            //{
            //    throw new Exception("A data de cadastro é obrigatório");
            //}
            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            DALobj.Alterar(modelo);
        }

        public void Excluir(int codigo)
        {
            DALCadastroDeFuncionarios DalObj = new DALCadastroDeFuncionarios(conexao);
            DalObj.Excluir(codigo);
        }

        public DataTable Localizar(String valor)
        {
            DALCadastroDeFuncionarios Dalobj = new DALCadastroDeFuncionarios(conexao);
            return Dalobj.Localizar(valor);
        }

        public ModeloCadastroDeFuncionario CarregaModeloCadastroDeFuncionario(int codigo)
        {
            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            return DALobj.CarregaModeloCadastroDeFuncionario(codigo);
        }

        public DataTable LocalizarPorNome(String valor)
        {
            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            return DALobj.LocalizarPorNome(valor);
        }

        public DataTable LocalizarPorMatricula(String valor)
        {
            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            return DALobj.LocalizarPorMatricula(valor);
        }

        public ModeloCadastroDeFuncionario CarregaModeloCadastroDeFuncionario(string matricula)
        {
            DALCadastroDeFuncionarios DALobj = new DALCadastroDeFuncionarios(conexao);
            return DALobj.CarregaModeloCadastroDeFuncionario(matricula);
        }
    }

--------------------------------------------------------------------------------------------------

NA CLASSE DAL COMUNICA COM O BANCO DE DADOS

namespace DAL
{
    public class DALCadastroDeFuncionarios
    {
        private DALConexao conexao;

        public DALCadastroDeFuncionarios(DALConexao cx)
        {
            this.conexao = cx;
        }

        public void Incluir(ModeloCadastroDeFuncionario modelo)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conexao.objetoConexao;
            cmd.CommandText = "INSERT INTO cadastro_funcionario (cad_nome, cad_login, cad_senha, cad_email," +
                "cad_setor, cad_ramal, cad_matricula, cad_acessosistema) VALUES (@cad_nome, @cad_login, @cad_senha, @cad_email," +
                "@cad_setor, @cad_ramal, @cad_matricula, @cad_acessosistema); SELECT @@IDENTITY;";

            cmd.Parameters.AddWithValue("cad_nome", modelo.CadNome);
            cmd.Parameters.AddWithValue("cad_login", modelo.CadLogin);
            cmd.Parameters.AddWithValue("cad_senha", modelo.CadSenha);
            cmd.Parameters.AddWithValue("cad_email", modelo.CadEmail);
            cmd.Parameters.AddWithValue("cad_setor", modelo.CadSetor);
            cmd.Parameters.AddWithValue("cad_ramal", modelo.CadRamal);
            cmd.Parameters.AddWithValue("cad_matricula", modelo.CadMatricula);
            //cmd.Parameters.AddWithValue("cad_empresa", modelo.CadEmpresa);
            //cmd.Parameters.AddWithValue("cad_dtcadastro", modelo.CadDtCadastro);
            cmd.Parameters.AddWithValue("cad_acessosistema", modelo.CadAcessoSistema);

            conexao.Conectar();
            modelo.CadCod = Convert.ToInt32(cmd.ExecuteScalar());
            conexao.Desconectar();
        }

        public void Alterar(ModeloCadastroDeFuncionario modelo)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conexao.objetoConexao;
            cmd.CommandText = "UPDATE cadastro_funcionario SET cad_nome = @cad_nome, cad_login = @cad_login, cad_senha = @cad_senha," +
                "cad_email = @cad_email, cad_setor = @cad_setor, cad_ramal = @cad_ramal, cad_matricula = @cad_matricula, cad_acessosistema = @cad_acessosistema WHERE cad_cod = @codigo;";

            cmd.Parameters.AddWithValue("@codigo", modelo.CadCod);
            cmd.Parameters.AddWithValue("@cad_nome", modelo.CadNome);
            cmd.Parameters.AddWithValue("@cad_login", modelo.CadLogin);
            cmd.Parameters.AddWithValue("@cad_senha", modelo.CadSenha);
            cmd.Parameters.AddWithValue("@cad_email", modelo.CadEmail);
            cmd.Parameters.AddWithValue("@cad_setor", modelo.CadSetor);
            cmd.Parameters.AddWithValue("@cad_ramal", modelo.CadRamal);
            cmd.Parameters.AddWithValue("@cad_matricula", modelo.CadMatricula);
            //cmd.Parameters.AddWithValue("cad_empresa", modelo.CadEmpresa);
            //cmd.Parameters.AddWithValue("cad_dtcadastro", modelo.CadDtCadastro);
            cmd.Parameters.AddWithValue("@cad_acessosistema", modelo.CadAcessoSistema);

            conexao.Conectar();
            modelo.CadCod = Convert.ToInt32(cmd.ExecuteScalar());
            conexao.Desconectar();
        }

        public void Excluir(int codigo)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conexao.objetoConexao;
            cmd.CommandText = "DELETE FROM cadastro_funcionario WHERE cad_cod = @codigo;";
            cmd.Parameters.AddWithValue("@codigo", codigo);

            conexao.Conectar();
            cmd.ExecuteNonQuery();
            conexao.Desconectar();
        }

        public DataTable Localizar(String valor)
        {
            DataTable tabela = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM cadastro_funcionario WHERE cad_nome like '%" + valor + "%'", conexao.StringConexao);
            da.Fill(tabela);
            return tabela;
        }

        public DataTable LocalizarPorNome(String valor)
        {
            return Localizar(valor);
        }

        public DataTable LocalizarPorMatricula(String valor)
        {
            DataTable tabela = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM cadastro_funcionario WHERE cad_matricula like '%" + valor + "%'", conexao.StringConexao);
            da.Fill(tabela);
            return tabela;
        }
        public ModeloCadastroDeFuncionario CarregaModeloCadastroDeFuncionario(int codigo)
        {
            ModeloCadastroDeFuncionario modelo = new ModeloCadastroDeFuncionario();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conexao.objetoConexao;
            cmd.CommandText = "SELECT * FROM cadastro_funcionario WHERE cad_cod = @codigo";
            cmd.Parameters.AddWithValue("@codigo", codigo);

            conexao.Conectar();
            SqlDataReader registro = cmd.ExecuteReader();
            if (registro.HasRows)
            {
                registro.Read();
                modelo.CadCod = Convert.ToInt32(registro["cad_cod"]);
                modelo.CadNome = Convert.ToString(registro["cad_nome"]);
                modelo.CadLogin = Convert.ToString(registro["cad_login"]);
                modelo.CadSenha = Convert.ToString(registro["cad_senha"]);
                modelo.CadEmail = Convert.ToString(registro["cad_email"]);
                modelo.CadSetor = Convert.ToString(registro["cad_setor"]);
                modelo.CadRamal = Convert.ToString(registro["cad_ramal"]);
                modelo.CadMatricula = Convert.ToString(registro["cad_matricula"]);
                //modelo.CadEmpresa = Convert.ToString(registro["cad_empresa"]);
                //modelo.CadAcessoSistema = Convert.ToString(registro["cad_acessosistema"]);
            }
            conexao.Desconectar();
            return modelo;
        }

        public ModeloCadastroDeFuncionario CarregaModeloCadastroDeFuncionario(string matricula)
        {
            ModeloCadastroDeFuncionario modelo = new ModeloCadastroDeFuncionario();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "SELECT * FROM cadastro_funcionario WHERE cad_matricula = @matricula";
            cmd.Parameters.AddWithValue("@matricula", matricula);

            conexao.Conectar();
            SqlDataReader registro = cmd.ExecuteReader();
            if (registro.HasRows)
            {
                registro.Read();
                modelo.CadCod = Convert.ToInt32(registro["cad_cod"]);
                modelo.CadNome = Convert.ToString(registro["cad_nome"]);
                modelo.CadLogin = Convert.ToString(registro["cad_login"]);
                modelo.CadSenha = Convert.ToString(registro["cad_senha"]);
                modelo.CadEmail = Convert.ToString(registro["cad_email"]);
                modelo.CadSetor = Convert.ToString(registro["cad_setor"]);
                modelo.CadRamal = Convert.ToString(registro["cad_ramal"]);
                modelo.CadMatricula = Convert.ToString(registro["cad_matricula"]);
                //modelo.CadEmpresa = Convert.ToString(registro["cad_empresa"]);
            }
            conexao.Desconectar();
            return modelo;
        }
    }

--------------------------------------------------------------------------------

TEM OUTRA CLASSE DAL INFORMAÇÕES DO BANCO DE DADOS

namespace DAL
{
    public class DALConexao //É utilizado o public para reconhecer o metodo em outra classe
    {
        private String _stringConexao; //string de conexão
        private SqlConnection _conexao; // conexão com o SQL
        private SqlTransaction _transaction; // transação do banco de dados permite operações com exito ou desfeitas

        public DALConexao(String dadosConexao)
        {            
            this._conexao = new SqlConnection(); // instancia de conexão com o banco de dados 
            this.StringConexao = dadosConexao; // definir string de conexão 
            this._conexao.ConnectionString = dadosConexao; // defini qual string de conexão para conectar no banco de dados passando para o construtor
        }

        public SqlTransaction ObjetoTransacao
        {
            get { return this._transaction; }
            set { this._transaction = value; }
        }

        public void IniciarTransacao()
        {
            this._transaction = _conexao.BeginTransaction();
        }

        public void TerminarTransacao()
        {
            this._transaction.Commit(); // EFETUA AS GRAVAÇÕES NO BANCO
        }

        public void CancelarTransacao()
        {
            this._transaction.Rollback();// DESFAZ OQUE FOI GRAVADO NO BANCO 
        }

        public String StringConexao
        {
            //String de conexao com o banco de dados
            get { return this._stringConexao;  }
            set { this._stringConexao = value; }
        }

        public SqlConnection objetoConexao
        {
            //Conectar com o banco de dados
            get { return this._conexao;  }
            set { this._conexao = value; }
        }

        public void Conectar()
        {
            //Conectar com o banco de dados
            this._conexao.Open();
        }

        public void Desconectar()
        {
            //Desconectar com o banco de dados
            this._conexao.Close();
        }
    }
}

------------------------------------------------------------------------------------------------
CLASSE DAL CONEXAO COM O BANCO DE DADOS

namespace DAL
{
    public class DadosDaConexao
    {
        public static String servidor = @"aqui coloca o nome do servidor BD";
        public static String banco = "aqui coloca o nome do BD";
        public static String usuario = "aqui coloca o usuário caso tiver";
        public static String senha = "aqui coloca a senha caso tiver";
        public static String StringDeConexao
        {
            // devolve o status de conexão
            get
            {
                return @"Data Source="+servidor+";Initial Catalog="+banco+";Integrated Security=True";
            }
        }
    }
}

E OS FORMULÁRIOS CRIADO NA GUI

Mensagens: 3

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093