示例#1
0
        private void btnCadastrarOuAlterar_Click(object sender, EventArgs e)
        {
            if (btnCadastrarOuAlterar.Text == "Alterar")
            {
                groupBox1.Enabled          = true;
                idAlterar                  = Math.Abs(idAlterar);
                this.Text                  = "Alteração de Funcionario";
                btnCadastrarOuAlterar.Text = "Salvar Alterações";
                return;
            }

            //Validaçoes
            if (txtNomeFunc.Text.Trim() == "")
            {
                errorProvider1.SetError(txtNomeFunc, null);
                errorProvider1.SetError(txtNomeFunc, "Campo Obrigatorio");

                toolTip1.ToolTipTitle = "Campo Obrigátorio";
                toolTip1.ToolTipIcon  = ToolTipIcon.Info;
                toolTip1.IsBalloon    = true;
                toolTip1.Show("Prencha este campo", txtNomeFunc, 3000);
                return;
            }

            if (Reaproveitamento.formularioPossuiErrosDoErroProvider(groupBox1, errorProvider1))
            {
                MessageBox.Show("O formulario ainda contem erros verifique");
                return;
            }

            errorProvider1.Clear();

            //Prencher a entidade
            Funcionario funcionario = new Funcionario()
            {
                Id_F           = idAlterar,
                Nome           = txtNomeFunc.Text,
                CPF            = mtxtCpfFunc.Text,                  //MinDate
                DataNascimento = mtxtDataNascFunc.Text == "  /  /" ? (DateTime?)null : DateTime.Parse(mtxtDataNascFunc.Text),
                Sexo           = rbtMasculino.Checked ? 'M' : 'F',
                Celular        = mtxtCelularFunc.Text,
                Email          = txtEmailFunc.Text,                                                         //MinDate
                DataAdmissao   = dtpDataAdmissaoFunc.Enabled ? dtpDataAdmissaoFunc.Value : (DateTime?)null, //MinValue = dbType.Null, conforme class DataAcessSqlCE, Linha 62
                Departamento   = Departamento.BuscarDepartamentos(cboDepartamentos.Text, true).FirstOrDefault <Departamento>()
            };
            double tempSalario;

            if (txtSalarioFunc.Text != "0,00" && double.TryParse(txtSalarioFunc.Text, out tempSalario))
            {
                funcionario.Salario = tempSalario;//senao recebe nulo
            }
            funcionario.Ativo = chkAtivo.Checked;

            //Definindo nome da imagem a gravar (o Id + o primeiro nome da pessoa)
            if (pictureBox1.Image != null)
            {
                if (txtNomeFunc.Text.Trim().Contains(" "))
                {
                    funcionario.Foto = txtIdFunc.Text + txtNomeFunc.Text.Substring(0, txtNomeFunc.Text.IndexOf(" "));//Armazena o id + o primeiro nome(ate o 1º espaço)
                }
                else
                {
                    funcionario.Foto = txtIdFunc.Text + txtNomeFunc.Text;
                }
            }
            else
            {
                funcionario.Foto = null;
            }

            try
            {
                string endPastaFotos = Funcionarios.Persistence.ConfigSqlCE.pastaFotos;
                if (idAlterar == 0)//Cadastra um novo funcionario
                {
                    funcionario.Cadastrar();
                    funcionario.SalvarFoto(pictureBox1.Image, endPastaFotos);

                    MessageBox.Show("Cadastrado com Sucesso", "Cadastrado");
                    Reaproveitamento.LimparTodosCampos(groupBox1);
                }
                else if (idAlterar > 0)//Altera o Funcionario
                {
                    funcionario.SalvarAlteracoes();
                    funcionario.ExcluirFoto(endPastaFotos);
                    funcionario.SalvarFoto(pictureBox1.Image, endPastaFotos);

                    MessageBox.Show("Alterado com Sucesso", "Alterado");
                }
                //Atualiza o formMain
                frmPai.AtualizarDadosFiltroAvancado();
                frmPai.AtualizarDadosDataGrid(FiltrarPor.Nome);
                frmPai.AtualizarLabelQntExibidosECadastrados();
            }
            catch (ExceptionNomeVazio ex) { errorProvider1.SetError(txtNomeFunc, ex.Message); }
            catch (ExceptionRegistroExistente ex) { MessageBox.Show(ex.Message, "CPF EXISTENTE!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
            catch (Exception ex) { MessageBox.Show(ex.Message, "Erro Inesperado", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
示例#2
0
 private void btnAddDepartamento_Click(object sender, EventArgs e)
 {
     new frmDepartamento().ShowDialog();
     cboDepartamentos.DataSource = Departamento.BuscarNomeTodosDepartamentos();
     frmPai.AtualizarDadosFiltroAvancado();
 }