public void TestEditarFuncionario()
        {
            string matricula = "NBG67";

            FuncionarioDao            funcionarioDao            = new FuncionarioDao();
            List <Funcionario>        funcionarios              = funcionarioDao.BuscarFuncionario(matricula, "Ativo");
            EditarCadastroFuncionario editarCadastroFuncionario = new EditarCadastroFuncionario();

            editarCadastroFuncionario.txtNome.Text              = funcionarios[0].Nome;
            editarCadastroFuncionario.maskCPF.Text              = funcionarios[0].CPF;
            editarCadastroFuncionario.maskDataNascimento.Text   = Convert.ToString(funcionarios[0].DataDeNascimento);
            editarCadastroFuncionario.maskTelefone.Text         = funcionarios[0].Telefone;
            editarCadastroFuncionario.txtCargo.Text             = funcionarios[0].Cargo;
            editarCadastroFuncionario.txtEmail.Text             = funcionarios[0].Email;
            editarCadastroFuncionario.maskNumeroCnh.Text        = funcionarios[0].NumeroCNH;
            editarCadastroFuncionario.comboBoxCategoriaCnh.Text = funcionarios[0].CategoriaCNH;
            editarCadastroFuncionario.maskValidadeCNH.Text      = Convert.ToString(funcionarios[0].ValidadeCNH);

            Funcionario funcionario = new Funcionario(editarCadastroFuncionario.maskMatricula.Text,
                                                      "Bruna Ramos Gouvea",
                                                      editarCadastroFuncionario.maskCPF.Text,
                                                      Convert.ToDateTime(editarCadastroFuncionario.maskDataNascimento.Text),
                                                      editarCadastroFuncionario.maskTelefone.Text,
                                                      editarCadastroFuncionario.txtCargo.Text,
                                                      editarCadastroFuncionario.txtEmail.Text,
                                                      editarCadastroFuncionario.maskNumeroCnh.Text,
                                                      editarCadastroFuncionario.comboBoxCategoriaCnh.Text,
                                                      Convert.ToDateTime(editarCadastroFuncionario.maskValidadeCNH.Text),
                                                      string.Empty,
                                                      "Ativo"
                                                      );

            int id = funcionarioDao.BuscarIdFuncionario("matricula", matricula);

            funcionarioDao.EditarFuncionario(funcionario, id);

            List <Funcionario> funcionarios2 = funcionarioDao.BuscarFuncionario(matricula, "Ativo");

            Assert.AreEqual(funcionarios2[0].Nome, funcionario.Nome);
            Assert.AreEqual(funcionarios2[0].CPF, funcionario.CPF);
            Assert.AreEqual(funcionarios2[0].DataDeNascimento, funcionario.DataDeNascimento);
            Assert.AreEqual(funcionarios2[0].Telefone, funcionario.Telefone);
            Assert.AreEqual(funcionarios2[0].Cargo, funcionario.Cargo);
            Assert.AreEqual(funcionarios2[0].Email, funcionario.Email);
            Assert.AreEqual(funcionarios2[0].NumeroCNH, funcionario.NumeroCNH);
            Assert.AreEqual(funcionarios2[0].CategoriaCNH, funcionario.CategoriaCNH);
            Assert.AreEqual(funcionarios2[0].ValidadeCNH, funcionario.ValidadeCNH);
        }
예제 #2
0
        private void BtnEditarCadastroFuncionario_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime dateTime1 = new DateTime();

                if (DateTime.TryParseExact(maskDataNascimento.Text, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out DateTime date))
                {
                    Convert.ToDateTime(maskDataNascimento.Text);
                }
                else
                {
                    dataDeNascimentoEntrada = maskDataNascimento.Text;
                    maskDataNascimento.Text = Convert.ToString(dateTime1);
                }

                DateTime dateTime2 = new DateTime();

                if (DateTime.TryParseExact(maskValidadeCNH.Text, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out DateTime data))
                {
                    Convert.ToDateTime(maskValidadeCNH.Text);
                }
                else
                {
                    dataValidadeCnhEntrada = maskValidadeCNH.Text;
                    maskValidadeCNH.Text   = Convert.ToString(dateTime2);
                }

                funcionario = new Funcionario(maskMatricula.Text,
                                              txtNome.Text,
                                              maskCPF.Text,
                                              Convert.ToDateTime(maskDataNascimento.Text),
                                              maskTelefone.Text,
                                              txtCargo.Text,
                                              txtEmail.Text,
                                              maskNumeroCnh.Text,
                                              comboBoxCategoriaCnh.Text,
                                              Convert.ToDateTime(maskValidadeCNH.Text),
                                              string.Empty,
                                              "Ativo"
                                              );

                if (Convert.ToString(funcionario.DataDeNascimento) == "01/01/0001 00:00:00")
                {
                    maskDataNascimento.Text = dataDeNascimentoEntrada;
                }

                if (Convert.ToString(funcionario.ValidadeCNH) == "01/01/0001 00:00:00")
                {
                    maskValidadeCNH.Text = dataValidadeCnhEntrada;
                }

                if (maskMatricula.Text == string.Empty ||
                    txtNome.Text == string.Empty ||
                    maskCPF.Text.Replace("-", "").Replace("_", "").Replace(".", "") == string.Empty ||
                    maskDataNascimento.Text.Replace("/", "").Replace("_", "") == string.Empty ||
                    maskTelefone.Text.Replace("-", "").Replace("(", "").Replace(")", "").Replace("_", "") == string.Empty ||
                    txtCargo.Text == string.Empty ||
                    txtEmail.Text == string.Empty
                    )
                {
                    labeltesteErro.Text      = "Atenção: Preencha os campos obrigatórios.";
                    labeltesteErro.ForeColor = Color.Red;
                }
                else
                {
                    if (labeltesteErro.Text == string.Empty)
                    {
                        if (funcionario.Matricula == null)
                        {
                            ExibeValidacao("Atenção: Matrícula inválida. O campo Matrícula deve ter 5 caracteres", null, maskMatricula, lblMatricula);
                        }
                        else
                        {
                            if (funcionario.Nome == null)
                            {
                                ExibeValidacao("Atenção: Nome inválido. O campo Nome deve ter de 5 a 100 caracteres", txtNome, null, lblNome);
                            }
                            else
                            {
                                if (funcionario.Telefone == null)
                                {
                                    ExibeValidacao("Atenção: Telefone inválido. Verifique o número e tente novamente.", null, maskTelefone, lblTelefone);
                                }
                                else
                                {
                                    if (funcionario.CPF == null)
                                    {
                                        ExibeValidacao("Atenção: CPF inválido. Verifique o número e tente novamente", null, maskCPF, lblCpf);
                                    }
                                    else
                                    {
                                        if (Convert.ToString(funcionario.DataDeNascimento) == "01/01/0001 00:00:00")
                                        {
                                            ExibeValidacao("Atenção: Data de Nascimento inválida. Verifique a data e tente novamente.", null, maskDataNascimento, lblDataDeNascimento);
                                        }
                                        else
                                        {
                                            if (funcionario.Cargo == null)
                                            {
                                                ExibeValidacao("Atenção: Cargo inválido. O campo Cargo deve ter de 5 a 100 caracteres.", txtCargo, null, lblCargo);
                                            }
                                            else
                                            {
                                                if (funcionario.Email == null)
                                                {
                                                    ExibeValidacao("Atenção: E-mail inválido. Verifique o e-mail e tente novamente.", txtEmail, null, lblEmail);
                                                }
                                                else
                                                {
                                                    if (funcionario.NumeroCNH == null)
                                                    {
                                                        ExibeValidacao("Atenção: Número da CNH inválido. O campo Número da CNH deve ter 11 números.", null, maskNumeroCnh, lblNumeroCnh);
                                                    }
                                                    else
                                                    {
                                                        if (((funcionario.NumeroCNH == "") && (Convert.ToString(funcionario.ValidadeCNH) == "01/01/0001 00:00:00") && (funcionario.CategoriaCNH == "")) ||
                                                            ((funcionario.NumeroCNH != "") && (Convert.ToString(funcionario.ValidadeCNH) != "01/01/0001 00:00:00") && (funcionario.CategoriaCNH != "")))
                                                        {
                                                            if (maskNumeroCnh.Text.Replace("_", "") == string.Empty)
                                                            {
                                                                funcionario.Motorista = "Não";
                                                            }
                                                            else
                                                            {
                                                                funcionario.Motorista = "Sim";
                                                            }

                                                            FuncionarioDao funcionarioDao = new FuncionarioDao();
                                                            int            id             = funcionarioDao.BuscarIdFuncionario("matricula", funcionario.Matricula);
                                                            string         ex             = funcionarioDao.EditarFuncionario(funcionario, id);

                                                            if (ex.Contains("matricula_UNIQUE"))                //throw ex;
                                                            {
                                                                MessageBox.Show("Matricula já cadastrada.");
                                                            }
                                                            else
                                                            {
                                                                if (ex.Contains("cpf_UNIQUE"))                //throw ex;
                                                                {
                                                                    MessageBox.Show("CPF já cadastrado.");
                                                                }

                                                                else
                                                                {
                                                                    if (labeltesteErro.Text == string.Empty)
                                                                    {
                                                                        if (funcionario.Matricula != null &&
                                                                            funcionario.Nome != null &&
                                                                            funcionario.CPF != null &&
                                                                            funcionario.DataDeNascimento != null &&
                                                                            funcionario.Telefone != null &&
                                                                            funcionario.Cargo != null &&
                                                                            funcionario.Email != null
                                                                            )
                                                                        {
                                                                            labeltesteErro.Text = string.Empty;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                        else
                                                        {
                                                            labeltesteErro.Text         = "Atenção: Preencha os campos da CNH. Verifique se estão corretos e tente novamente.";
                                                            lblCategoriaDaCnh.ForeColor = Color.Red;
                                                            lblNumeroCnh.ForeColor      = Color.Red;
                                                            lblValidadeCnh.ForeColor    = Color.Red;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            catch (Exception)
            {
            }
        }