Пример #1
0
        public FuncionarioViewModel()
        {
            this.Funcionario = new Funcionarios.Funcionario()
            {
                Nome     = "Fulano de Tal",
                CPF      = "111.111.111-22",
                Admissao = new DateTime(2018, 01, 01)
            };
            this.Funcionario.Lotacoes = new List <Lotacao>();
            Departamento departamento = new Departamento()
            {
                Nome = "Administração de Sistemas"
            };
            Cargo cargo = new Cargo()
            {
                Nome = "Chefe"
            };
            Cargo cargo2 = new Cargo()
            {
                Nome = "Auxiliar"
            };
            Lotacao l1 = new Lotacao();

            l1.Cargo        = cargo2;
            l1.Departamento = departamento;
            l1.Inicio       = new DateTime(2018, 01, 01);
            l1.Fim          = new DateTime(2018, 12, 31);
            this.Funcionario.Lotacoes.Add(l1);

            Lotacao l2 = new Lotacao();

            l2.Cargo        = cargo;
            l2.Departamento = departamento;
            l2.Inicio       = new DateTime(2019, 01, 01);
            this.Funcionario.Lotacoes.Add(l2);
        }
Пример #2
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); }
        }