private void BtnDeleteProf_Click(object sender, EventArgs e)
        {
            string       nome = txtNomeProf.Text;
            DialogResult resposta;

            resposta = MessageBox.Show("Você deseja excluir o professor " + nome + " do sistema?", "Aviso", MessageBoxButtons.YesNo);
            if (resposta == DialogResult.Yes)
            {
                for (int i = 0; i < ListaCpfProf.Count; i++)
                {
                    if (txtCpfProf.Text == ListaCpfProf[i].ToString())
                    {
                        ListaCpfProf.Remove(ListaCpfProf[i]);
                        ListaNomeProf.Remove(ListaNomeProf[i]);
                        ListaSobrenomeProf.Remove(ListaSobrenomeProf[i]);
                        ListaSenhaProf.Remove(ListaSenhaProf[i]);
                        ListaTelefoneProf.Remove(ListaTelefoneProf[i]);
                        ListaRgProf.Remove(ListaRgProf[i]);
                        ListaDataProf.Remove(ListaDataProf[i]);
                        ListaGeneroProf.Remove(ListaGeneroProf[i]);
                        ListaCodigoTurmaProf.Remove(ListaCodigoTurmaProf[i]);
                        break;
                    }
                }
            }
            MessageBox.Show("Cadastro removido com sucesso!!", "Aviso", MessageBoxButtons.OK);
            BancoAcademia.GravarArquivoProf(ListaCpfProf, ListaNomeProf, ListaSobrenomeProf, ListaSenhaProf, ListaTelefoneProf, ListaRgProf, ListaGeneroProf, ListaDataProf, ListaCodigoTurmaProf);
        }
 public static void NovoProfessor(ArrayList ListaCpfProf, ArrayList ListaNomeProf,
                                  ArrayList ListaSobrenomeProf, ArrayList ListaSenhaProf,
                                  ArrayList ListaTelefoneProf, ArrayList ListaRgProf,
                                  ArrayList ListaGeneroProf, ArrayList ListaNascimentoProf, ArrayList ListaCodigoTurmaProf,
                                  string novoCpf, string novoNome, string novoSobrenome, string novaSenha,
                                  string novoTelefone, string novoRg, string novoGenero, string novoNascimento, string novoCodigoTurma)
 {
     ListaCpfProf.Add(novoCpf);
     ListaNomeProf.Add(novoNome);
     ListaSobrenomeProf.Add(novoSobrenome);
     ListaSenhaProf.Add(novaSenha);
     ListaTelefoneProf.Add(novoTelefone);
     ListaRgProf.Add(novoRg);
     ListaGeneroProf.Add(novoGenero);
     ListaNascimentoProf.Add(novoNascimento);
     ListaCodigoTurmaProf.Add(novoCodigoTurma);
     BancoAcademia.GravarArquivoProf(ListaCpfProf, ListaNomeProf, ListaSobrenomeProf, ListaSenhaProf, ListaTelefoneProf, ListaRgProf, ListaGeneroProf, ListaNascimentoProf, ListaCodigoTurmaProf);
     MessageBox.Show("Professor(a) " + novoNome + " " + novoSobrenome + " foi cadastrado(a) com sucesso!", "Novo cadastro", MessageBoxButtons.OK);
 }
        private void BtnSalvarEditProf_Click(object sender, EventArgs e)
        {
            #region Tratamento de genero
            if (cbxGeneroProf.Text == "[Selecione]")
            {
                MessageBox.Show("O campo genero é obrigatório.", "Erro", MessageBoxButtons.OK);
                cbxGeneroProf.Focus();
                return;
            }
            #endregion
            #region Tratamento de Senha
            if (txtSenhaProf.TextLength < 4)
            {
                MessageBox.Show("Digite uma senha com mais de 4 caracteres.", "Erro", MessageBoxButtons.OK);
                txtSenhaProf.Focus();
                return;
            }
            #endregion
            #region Tratamento do Nome
            string novoNomeTeste = txtNomeProf.Text.ToUpper();
            if (novoNomeTeste.Length <= 2)
            {
                MessageBox.Show("Digite seu primeiro nome inteiro, sem abreviações ou apelidos.", "Erro", MessageBoxButtons.OK);
                txtNomeProf.Focus();
                return;
            }
            for (int i = 0; i < novoNomeTeste.Length; i++)
            {
                if (String.Compare(novoNomeTeste.Substring(i, 1), "A") < 0 || String.Compare(novoNomeTeste.Substring(i, 1), "Z") > 0)
                {
                    MessageBox.Show("O campo nome é exclusivo para letras.", "Erro", MessageBoxButtons.OK);
                    txtNomeProf.Focus();
                    return;
                }
            }
            #endregion
            #region Tratamento do Sobrenome
            string novoSobrenomeTeste = txtSobrenomeProf.Text.ToUpper();
            if (novoSobrenomeTeste.Length <= 2)
            {
                MessageBox.Show("Digite seu sobrenome inteiro, sem abreviações ou apelidos.", "Erro", MessageBoxButtons.OK);
                txtSobrenomeProf.Focus();
                return;
            }
            for (int i = 0; i < novoSobrenomeTeste.Length; i++)
            {
                if (String.Compare(novoSobrenomeTeste.Substring(i, 1), "A") < 0 || String.Compare(novoSobrenomeTeste.Substring(i, 1), "Z") > 0)
                {
                    MessageBox.Show("O campo sobrenome é exclusivo para letras.", "Erro", MessageBoxButtons.OK);
                    txtSobrenomeProf.Focus();
                    return;
                }
            }
            #endregion
            #region Tratamento de telefone
            if (mtxtTelefoneProf.Text.Length != 11)
            {
                MessageBox.Show("O campo telefone requer 11 números.", "Erro", MessageBoxButtons.OK);
                mtxtTelefoneProf.Focus();
                return;
            }
            try
            {
                Convert.ToInt64(mtxtTelefoneProf.Text);
            }
            catch
            {
                MessageBox.Show("Digite apenas números!!", "Erro", MessageBoxButtons.OK);
                mtxtTelefoneProf.Focus();
                return;
            }
            #endregion
            #region Tratamento de data
            string novaData = mtxtDataProf.Text;
            if (novaData.Length == 8)
            {
                int dataDia  = 0;
                int dataMes  = 0;
                int dataAno  = 0;
                int anoAtual = DateTime.Now.Year;
                int mesAtual = DateTime.Now.Month;
                int diaAtual = DateTime.Now.Day;
                try
                {
                    dataDia = Convert.ToInt32(novaData.Substring(0, 2));
                    dataMes = Convert.ToInt32(novaData.Substring(2, 2));
                    dataAno = Convert.ToInt32(novaData.Substring(4, 4));
                }
                catch
                {
                    MessageBox.Show("Digite apenas números.", "Erro", MessageBoxButtons.OK);
                    mtxtDataProf.Focus();
                    return;
                }
                if (dataDia < 01 || dataDia > 31)
                {
                    MessageBox.Show("Digite valores entre 1 e 31 no campo dias!", "Erro", MessageBoxButtons.OK);
                    mtxtDataProf.Focus();
                    return;
                }
                else if (dataMes < 01 || dataMes > 12)
                {
                    MessageBox.Show("Digite valores entre 1 e 12 no campo mês!", "Erro", MessageBoxButtons.OK);
                    mtxtDataProf.Focus();
                    return;
                }
                else if (dataAno < 1985 || dataAno > anoAtual)
                {
                    MessageBox.Show("Ano invalido, digite valores entre 1985 e " + anoAtual + " !", "Erro", MessageBoxButtons.OK);
                    mtxtDataProf.Focus();
                    return;
                }
                else if (dataAno == anoAtual)
                {
                    if (dataMes > mesAtual)
                    {
                        MessageBox.Show("Esta mês está em um intervalo de tempo inválido, verifique o campo e tente novamente.", "Erro", MessageBoxButtons.OK);
                        mtxtDataProf.Focus();
                        return;
                    }
                    else if (dataMes == mesAtual)
                    {
                        if (dataDia > diaAtual)
                        {
                            MessageBox.Show("Esta dia está em um intervalo de tempo inválido, verifique o campo e tente novamente.", "Erro", MessageBoxButtons.OK);
                            mtxtDataProf.Focus();
                            return;
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Data de nascimento inválido, digite no formato DD/MM/AAAA.", "Erro", MessageBoxButtons.OK);
                mtxtDataProf.Focus();
                return;
            }
            #endregion
            for (int i = 0; i < ListaCodigoTurma.Count; i++)
            {
                if (txtCpfProf.Text == ListaCpfProf[i].ToString())
                {
                    ListaNomeProf[i]        = txtNomeProf.Text;
                    ListaSobrenomeProf[i]   = txtSobrenomeProf.Text;
                    ListaSenhaProf[i]       = txtSenhaProf.Text;
                    ListaDataProf[i]        = mtxtDataProf.Text;
                    ListaGeneroProf[i]      = cbxGeneroProf.Text;
                    ListaTelefoneProf[i]    = mtxtTelefoneProf.Text;
                    ListaCodigoTurmaProf[i] = cbxCodigoTurma.Text;
                    break;
                }
            }

            BancoAcademia.GravarArquivoTurma(ListaCodigoTurma, ListaTipoTurma, ListaHorarioTurma, ListaDiasTurma);
            BancoAcademia.GravarArquivoProf(ListaCpfProf, ListaNomeProf, ListaSobrenomeProf, ListaSenhaProf, ListaTelefoneProf, ListaRgProf, ListaGeneroProf, ListaDataProf, ListaCodigoTurmaProf);
            MessageBox.Show("Informações atualizadas com sucesso, clique listar para detalhes.", "Atenção", MessageBoxButtons.OK);
            txtNomeProf.Clear(); txtSobrenomeProf.Clear(); txtSenhaProf.Clear(); mtxtTelefoneProf.Clear(); cbxCodigoTurma.Items.Clear(); txtCpfProf.Clear(); txtRgProf.Clear(); cbxGeneroProf.Items.Clear(); mtxtDataProf.Clear();
            txtNomeProf.Enabled       = false;
            txtSobrenomeProf.Enabled  = false;
            txtSenhaProf.Enabled      = false;
            mtxtTelefoneProf.Enabled  = false;
            txtCpfProf.Enabled        = false;
            txtRgProf.Enabled         = false;
            cbxGeneroProf.Enabled     = false;
            mtxtDataProf.Enabled      = false;
            cbxCodigoTurma.Enabled    = false;
            btnSalvarEditProf.Enabled = false;
            btnSalvarEditProf.Visible = false;
            cckSenhaProf.Enabled      = false;
            btnDeleteProf.Enabled     = false;
            btnEditProf.Enabled       = false;
        }
Exemple #4
0
        private void BtbSaveTurma_Click(object sender, EventArgs e)
        {
            BancoAcademia.LerArquivoTurma(ListaCodigoTurma, ListaTipoTurma, ListaHorarioTurma, ListaDiasTurma);
            string novoCodigo  = lblCodTurma.Text;
            string novoTipo    = txtTipoTurma.Text;
            string novoHorario = mtxtHorarioTurma.Text;
            string novoDia     = "";

            #region Tratamento do codigo da turma
            if (lblCodTurma.Text == "")
            {
                MessageBox.Show("O código da turma é gerado automaticamente, apertando no botão Gerar Código!", "Aviso", MessageBoxButtons.OK);
                btnCodTurma.Focus();
                return;
            }
            #endregion
            #region Tratamento dos dias
            ArrayList diasMarcados = new ArrayList();
            if (cckListDias.CheckedIndices.Count == 0 && cckListDias.CheckedIndices.Count > 3)
            {
                MessageBox.Show("Quantidade de dias inválido, três número máximo de dias.", "Erro", MessageBoxButtons.OK);
                cckListDias.Focus();
                return;
            }
            else if (cckListDias.CheckedIndices.Count == 1)
            {
                novoDia = cckListDias.SelectedItem.ToString();
            }
            else if (cckListDias.CheckedIndices.Count == 2)
            {
                foreach (string dia in cckListDias.CheckedItems)
                {
                    diasMarcados.Add(dia);
                }
                novoDia = diasMarcados[0] + " e " + diasMarcados[1];
            }
            else if (cckListDias.CheckedIndices.Count == 3)
            {
                foreach (string dia in cckListDias.CheckedItems)
                {
                    diasMarcados.Add(dia);
                }
                novoDia = diasMarcados[0] + ", " + diasMarcados[1] + " e " + diasMarcados[2];
            }
            #endregion
            #region Tratamento de horarios
            int horas      = Convert.ToInt32(novoHorario.Substring(0, 2));
            int min        = Convert.ToInt32(novoHorario.Substring(3, 2));
            int ultimosMin = Convert.ToInt32(novoHorario.Substring(4, 1));
            if (horas < 00 && horas > 24)
            {
                MessageBox.Show("Hora no formato errado, utilize o formato 24h no padrão HH:MM.", "Erro", MessageBoxButtons.OK);
                mtxtHorarioTurma.Focus();
                return;
            }
            else if (min < 00 && min > 59)
            {
                MessageBox.Show("Minutos fora do intervalo válido, utilize minutos entre 00 e 59.", "Erro", MessageBoxButtons.OK);
                mtxtHorarioTurma.Focus();
                return;
            }
            else if (ultimosMin != 5 && ultimosMin != 0)
            {
                MessageBox.Show("As aulas sempre serão iniciadas em hórarios válidos, terminados sempre em 0 e 5min.\nExemplo: 16:05 ou 16:20", "Erro", MessageBoxButtons.OK);
                mtxtHorarioTurma.Focus();
                return;
            }
            for (int i = 0; i < ListaCodigoTurma.Count; i++)
            {
                string compararHorarioBd   = Convert.ToString(ListaHorarioTurma[i]).Substring(0, 2);
                string compararNovoHorario = Convert.ToString(novoHorario).Substring(0, 2);
                if (compararNovoHorario == compararHorarioBd)
                {
                    MessageBox.Show("Existe um choque de hórario, por favor, revise os dias e hórarios para cadastrar a nova turma.", "Erro", MessageBoxButtons.OK);
                    DialogResult resposta = MessageBox.Show("Deseja voltar ao menu, para checar as turmas existentes ?", "Atenção", MessageBoxButtons.YesNo);
                    if (resposta == DialogResult.Yes)
                    {
                        formTurmas menu = new formTurmas();
                        menu.Show();
                    }
                    else
                    {
                        return;
                    }
                }
            }
            #endregion
            #region Tratamento do tipo da turma
            string novoTipoTeste = novoTipo.ToUpper();
            for (int i = 0; i < novoTipoTeste.Length; i++)
            {
                if (String.Compare(novoTipoTeste.Substring(i, 1), "A") < 0 || String.Compare(novoTipoTeste.Substring(i, 1), "Z") > 0)
                {
                    MessageBox.Show("Digite apenas letras!", "Erro", MessageBoxButtons.OK);
                    txtTipoTurma.Focus();
                    return;
                }
            }
            #endregion
            BancoAcademia.GravarArquivoProf(ListaCpfProf, ListaNomeProf, ListaSobrenomeProf, ListaSenhaProf, ListaTelefoneProf, ListaRgProf, ListaGeneroProf, ListaNascimentoProf, ListaCodigoTurmaProf);
            BancoAcademia.NovaTurma(ListaCodigoTurma, ListaTipoTurma, ListaHorarioTurma, ListaDiasTurma, novoCodigo, novoTipo, novoHorario, novoDia);
        }