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); }
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); } }