Пример #1
0
        public FormCadastro(usuarios.Admin admin)
        {
            InitializeComponent();
            lblTitulo.Text               = Modo;
            cmbTipoUsuario.Enabled       = false;
            cmbTipoUsuario.SelectedIndex = 0;

            idUsuario         = admin.ID;
            txtLogin.Text     = admin.Login;
            txtSenha.Text     = admin.Senha;
            mtxtRG.Text       = admin.RG;  // O MaskedTextBox os remove os símbolos "." e "-"
            mtxtCPF.Text      = admin.CPF; // O MaskedTextBox os remove os símbolos "." e "-"
            txtEmail.Text     = admin.Email;
            txtNome.Text      = admin.Nome;
            mtxtTelefone.Text = admin.Telefone; // O MaskedTextBox os remove os símbolos "(", ")" e "-"
            txtCargo.Text     = admin.Cargo;
        }
Пример #2
0
        private void btnAlterar_Click(object sender, EventArgs e)
        {
            DataGridViewCellCollection celulas = // Resgata as células da linha da célula selecionada
                                                 dgvResultados.Rows[dgvResultados.SelectedCells[0].RowIndex].Cells;
            FormCadastro formcadastro = new FormCadastro();

            // A classe/colunas de Usuario não consegue guardar todos os atributos de um
            // Admin, Aluno ou Usuario, por isso é preciso resgatar do BD
            // os outros atributos e instanciar a classe especificada no Tipo
            if (cmbTipo.Text == "Todos Usuários")
            {
                int idSelecionado = Convert.ToInt16(celulas["ID"].Value); // ID de usuário
                switch (celulas["Tipo"].Value.ToString())
                {
                case "Administrador":
                    usuarios.Admin admin = new ExecutarDB().ListarAdmins(
                        "cargo", "administradores", $"user_id = {idSelecionado}")[0];
                    admin.ID       = idSelecionado;
                    admin.Login    = celulas["Login"].Value.ToString();
                    admin.Senha    = celulas["Senha"].Value.ToString();
                    admin.RG       = celulas["RG"].Value.ToString();
                    admin.CPF      = celulas["CPF"].Value.ToString();
                    admin.Email    = celulas["Email"].Value.ToString();
                    admin.Nome     = celulas["Nome"].Value.ToString();
                    admin.Telefone = celulas["Telefone"].Value.ToString();
                    formcadastro   = new FormCadastro(admin);
                    break;

                case "Aluno":
                    usuarios.Aluno aluno = new ExecutarDB().ListarAlunos(
                        "ra, curso, datamatricula", "alunos", $"user_id = {idSelecionado}")[0];
                    aluno.ID       = idSelecionado;
                    aluno.Login    = celulas["Login"].Value.ToString();
                    aluno.Senha    = celulas["Senha"].Value.ToString();
                    aluno.RG       = celulas["RG"].Value.ToString();
                    aluno.CPF      = celulas["CPF"].Value.ToString();
                    aluno.Email    = celulas["Email"].Value.ToString();
                    aluno.Nome     = celulas["Nome"].Value.ToString();
                    aluno.Telefone = celulas["Telefone"].Value.ToString();
                    formcadastro   = new FormCadastro(aluno);
                    break;

                case "Professor":
                    usuarios.Professor professor = new ExecutarDB().ListarProfessores(
                        "registro, formacao", "professores", $"user_id = {idSelecionado}")[0];
                    professor.ID       = idSelecionado;
                    professor.Login    = celulas["Login"].Value.ToString();
                    professor.Senha    = celulas["Senha"].Value.ToString();
                    professor.RG       = celulas["RG"].Value.ToString();
                    professor.CPF      = celulas["CPF"].Value.ToString();
                    professor.Email    = celulas["Email"].Value.ToString();
                    professor.Nome     = celulas["Nome"].Value.ToString();
                    professor.Telefone = celulas["Telefone"].Value.ToString();
                    formcadastro       = new FormCadastro(professor);
                    break;
                }
            }

            // Resgata o tipo de usuário e instancia esse tipo com os dados
            switch (cmbTipo.Text)
            {
            case "Administradores":
                usuarios.Admin admin = new usuarios.Admin(
                    celulas["Login"].Value.ToString(),
                    celulas["Senha"].Value.ToString(),
                    celulas["RG"].Value.ToString(),
                    celulas["CPF"].Value.ToString(),
                    celulas["Email"].Value.ToString(),
                    celulas["Nome"].Value.ToString(),
                    celulas["Telefone"].Value.ToString(),
                    celulas["Cargo"].Value.ToString()
                    );
                admin.ID = new ExecutarDB().ListarUsuarios("user_id", "administradores",
                                                           $"id = {celulas["ID"].Value.ToString()}")[0].ID;
                formcadastro = new FormCadastro(admin);
                break;

            case "Alunos":
                usuarios.Aluno aluno = new usuarios.Aluno(
                    celulas["Login"].Value.ToString(),
                    celulas["Senha"].Value.ToString(),
                    celulas["RG"].Value.ToString(),
                    celulas["CPF"].Value.ToString(),
                    celulas["Email"].Value.ToString(),
                    celulas["Nome"].Value.ToString(),
                    celulas["Telefone"].Value.ToString(),
                    celulas["RA"].Value.ToString(),
                    celulas["Curso"].Value.ToString(),
                    Convert.ToDateTime(celulas["dataMatricula"].Value)
                    );
                aluno.ID = new ExecutarDB().ListarUsuarios("user_id", "alunos",
                                                           $"id = {celulas["ID"].Value.ToString()}")[0].ID;
                formcadastro = new FormCadastro(aluno);
                break;

            case "Professores":
                usuarios.Professor professor = new usuarios.Professor(
                    celulas["Login"].Value.ToString(),
                    celulas["Senha"].Value.ToString(),
                    celulas["RG"].Value.ToString(),
                    celulas["CPF"].Value.ToString(),
                    celulas["Email"].Value.ToString(),
                    celulas["Nome"].Value.ToString(),
                    celulas["Telefone"].Value.ToString(),
                    celulas["Registro"].Value.ToString(),
                    celulas["Formacao"].Value.ToString()
                    );
                professor.ID = new ExecutarDB().ListarUsuarios("user_id", "professores",
                                                               $"id = {celulas["ID"].Value.ToString()}")[0].ID;
                formcadastro = new FormCadastro(professor);
                break;
            }

            // Encontra o FormMenu pai e formata o novo FormCadastro para mostrar como MDI dele
            formcadastro.MdiParent = Application.OpenForms["FormMenu"];
            formcadastro.Dock      = DockStyle.Fill;
            //Hide();
            formcadastro.TopMost = true;
            formcadastro.Show();
        }
Пример #3
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            // Substituição opcional de Login e Senha
            if (String.IsNullOrWhiteSpace(txtLogin.Text) &&
                String.IsNullOrWhiteSpace(txtSenha.Text) &&
                MessageBox.Show(null, "Login e Senha vazios, deseja usar o RG" +
                                " como login e o CPF como senha?", "Aviso", MessageBoxButtons.YesNo)
                == DialogResult.Yes)
            {
                txtLogin.Text = mtxtRG.Text;
                txtSenha.Text = mtxtCPF.Text;
            }
            else if (String.IsNullOrWhiteSpace(txtLogin.Text) &&
                     MessageBox.Show(null, "Login vazio, deseja usar o RG como login?",
                                     "Aviso", MessageBoxButtons.YesNo)
                     == DialogResult.Yes)
            {
                txtLogin.Text = mtxtRG.Text;
            }
            else if (String.IsNullOrWhiteSpace(txtSenha.Text) &&
                     MessageBox.Show(null, "Senha vazia, deseja usar o CPF como senha?",
                                     "Aviso", MessageBoxButtons.YesNo)
                     == DialogResult.Yes)
            {
                txtSenha.Text = mtxtCPF.Text;
            }

            // Validação de dados de usuário
            if (!mtxtRG.MaskCompleted)
            {
                mtxtRG.BackColor = Color.FromArgb(255, 192, 192);
            }
            else
            {
                mtxtRG.BackColor = SystemColors.Window;
            }
            if (!mtxtCPF.MaskCompleted)
            {
                mtxtCPF.BackColor = Color.FromArgb(255, 192, 192);
            }
            else
            {
                mtxtCPF.BackColor = SystemColors.Window;
            }
            if (String.IsNullOrWhiteSpace(txtNome.Text))
            {
                txtNome.BackColor = Color.FromArgb(255, 192, 192);
            }
            else
            {
                txtNome.BackColor = SystemColors.Window;
            }
            if (!String.IsNullOrWhiteSpace(txtEmail.Text) && !txtEmail.Text.Contains("@"))
            {
                txtEmail.BackColor = Color.FromArgb(255, 192, 192);
            }
            else
            {
                txtNome.BackColor = SystemColors.Window;
            }

            switch (cmbTipoUsuario.SelectedItem)
            {
            case "Administrador":
                // Validação de dados de administrador
                if (String.IsNullOrWhiteSpace(txtCargo.Text))
                {
                    txtCargo.BackColor = Color.FromArgb(255, 192, 192);
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }
                else
                {
                    txtCargo.BackColor = SystemColors.Window;
                }
                if (!mtxtRG.MaskCompleted || !mtxtCPF.MaskCompleted ||
                    String.IsNullOrWhiteSpace(txtNome.Text) ||
                    (!String.IsNullOrWhiteSpace(txtEmail.Text) && !txtEmail.Text.Contains("@")))
                {
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }

                // Inserção ou Atualização de dados de administrador
                if (Modo == "Cadastrar")
                {
                    // Cadastro de novo usuário admin
                    usuarios.Admin admin = new usuarios.Admin();
                    admin.Login    = txtLogin.Text;
                    admin.Senha    = txtSenha.Text;
                    admin.RG       = mtxtRG.Text;
                    admin.CPF      = mtxtCPF.Text;
                    admin.Email    = txtEmail.Text;
                    admin.Nome     = txtNome.Text;
                    admin.Telefone = mtxtTelefone.Text;
                    admin.Cargo    = txtCargo.Text;

                    switch (admin.Cadastrar())
                    {
                    case 0:
                        Close();
                        break;

                    case 1:
                        MessageBox.Show("Login e Email em uso");
                        break;

                    case 2:
                        MessageBox.Show("Login em uso");
                        break;

                    case 3:
                        MessageBox.Show("Email em uso");
                        break;
                    }
                }
                else
                {
                    // Alteração de dados de usuário admin existente
                    new ExecutarDB().Executar("UPDATE usuarios SET " +
                                              $"login = '******', senha = '{txtSenha.Text}', " +
                                              $"rg = '{mtxtRG.Text}', cpf = '{mtxtCPF.Text}', " +
                                              $"email = '{txtEmail.Text}', nome = '{txtNome.Text}', " +
                                              $"telefone = '{mtxtTelefone.Text}' " +
                                              $"WHERE id = {idUsuario}");
                    new ExecutarDB().Executar("UPDATE administradores SET " +
                                              $"cargo = '{txtCargo.Text}'");
                    Close();
                }
                break;

            case "Aluno":
                // Validação de dados de aluno
                if (!mtxtRA.MaskCompleted || cmbCurso.SelectedIndex == -1)
                {
                    if (!mtxtRA.MaskCompleted)
                    {
                        mtxtRA.BackColor = Color.FromArgb(255, 192, 192);
                    }
                    else
                    {
                        mtxtRA.BackColor = SystemColors.Window;
                    }
                    if (cmbCurso.SelectedIndex == -1)
                    {
                        cmbCurso.BackColor = Color.FromArgb(255, 192, 192);
                    }
                    else
                    {
                        cmbCurso.BackColor = SystemColors.Window;
                    }
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }
                if (!mtxtRG.MaskCompleted || !mtxtCPF.MaskCompleted ||
                    String.IsNullOrWhiteSpace(txtNome.Text) ||
                    (!String.IsNullOrWhiteSpace(txtEmail.Text) && !txtEmail.Text.Contains("@")))
                {
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }

                // Inserção ou Atualização de dados de aluno
                if (Modo == "Cadastrar")
                {
                    // Cadastro de novo usuário aluno
                    usuarios.Aluno aluno = new usuarios.Aluno();
                    aluno.Login         = txtLogin.Text;
                    aluno.Senha         = txtSenha.Text;
                    aluno.RG            = mtxtRG.Text;
                    aluno.CPF           = mtxtCPF.Text;
                    aluno.Email         = txtEmail.Text;
                    aluno.Nome          = txtNome.Text;
                    aluno.Telefone      = mtxtTelefone.Text;
                    aluno.RA            = mtxtRA.Text;
                    aluno.Curso         = cmbCurso.SelectedItem.ToString();
                    aluno.dataMatricula = dtpDataMatricula.Value;

                    switch (aluno.Cadastrar())
                    {
                    case 0:
                        Close();
                        break;

                    case 1:
                        MessageBox.Show("Login e Email em uso");
                        break;

                    case 2:
                        MessageBox.Show("Login em uso");
                        break;

                    case 3:
                        MessageBox.Show("Email em uso");
                        break;
                    }
                }
                else
                {
                    // Alteração de dados de usuário aluno existente
                    new ExecutarDB().Executar("UPDATE usuarios SET " +
                                              $"login = '******', senha = '{txtSenha.Text}', " +
                                              $"rg = '{mtxtRG.Text}', cpf = '{mtxtCPF.Text}', " +
                                              $"email = '{txtEmail.Text}', nome = '{txtNome.Text}', " +
                                              $"telefone = '{mtxtTelefone.Text}' " +
                                              $"WHERE id = {idUsuario}");
                    new ExecutarDB().Executar("UPDATE alunos SET " +
                                              $"ra = '{mtxtRA.Text}', " +
                                              $"curso = '{cmbCurso.SelectedItem.ToString()}', " +
                                              $"datamatricula = '{dtpDataMatricula.Value}' " +
                                              $"WHERE user_id = {idUsuario}");
                    Close();
                }
                break;

            case "Professor":
                // Validação de dados de professor
                if (!mtxtRegistro.MaskCompleted)
                {
                    mtxtRegistro.BackColor = Color.FromArgb(255, 192, 192);
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }
                else
                {
                    mtxtRegistro.BackColor = SystemColors.Window;
                }
                if (!mtxtRG.MaskCompleted || !mtxtCPF.MaskCompleted ||
                    String.IsNullOrWhiteSpace(txtNome.Text) ||
                    (!String.IsNullOrWhiteSpace(txtEmail.Text) && !txtEmail.Text.Contains("@")))
                {
                    MessageBox.Show(null, "Alguns dados estão incorretos ou incompletos, por favor verificá-los", "Erro ao cadastrar");
                    return;
                }

                // Inserção ou Atualização de dados de professor
                if (Modo == "Cadastrar")
                {
                    // Cadastro de novo usuário aluno
                    usuarios.Professor professor = new usuarios.Professor();
                    professor.Login    = txtLogin.Text;
                    professor.Senha    = txtSenha.Text;
                    professor.RG       = mtxtRG.Text;
                    professor.CPF      = mtxtCPF.Text;
                    professor.Email    = txtEmail.Text;
                    professor.Nome     = txtNome.Text;
                    professor.Telefone = mtxtTelefone.Text;
                    professor.Registro = mtxtRegistro.Text;
                    professor.Formacao = txtFormacao.Text;

                    switch (professor.Cadastrar())
                    {
                    case 0:
                        Close();
                        break;

                    case 1:
                        MessageBox.Show("Login e Email em uso");
                        break;

                    case 2:
                        MessageBox.Show("Login em uso");
                        break;

                    case 3:
                        MessageBox.Show("Email em uso");
                        break;
                    }
                }
                else
                {
                    // Alteração de dados de usuário admin existente
                    new ExecutarDB().Executar("UPDATE usuarios SET " +
                                              $"login = '******', senha = '{txtSenha.Text}', " +
                                              $"rg = '{mtxtRG.Text}', cpf = '{mtxtCPF.Text}', " +
                                              $"email = '{txtEmail.Text}', nome = '{txtNome.Text}', " +
                                              $"telefone = '{mtxtTelefone.Text}' " +
                                              $"WHERE id = {idUsuario}");
                    new ExecutarDB().Executar("UPDATE professores SET " +
                                              $"registro = '{mtxtRegistro.Text}', " +
                                              $"formacao = '{txtFormacao.Text}' " +
                                              $"WHERE user_id = {idUsuario}");
                    Close();
                }
                break;
            }
        }