protected void btnInserir_Click(object sender, EventArgs e)
        {
            try
            {
                PetContext ctx = new PetContext();

                Funcionario f = new Funcionario();

                preencherFromCampos(ref f);

                ctx.Funcionario.Add(f);
                ctx.SaveChanges();
            }
            catch(Exception ex)
            {
                lblStatus.Text = "Erro: " + ex.Message;
            }
            finally
            {
                SetModoAddFuncionario();
            }
        }
        private void SetModoViewFuncionario(int id)
        {
            pnlMaster.Visible = false;
            pnlDetail.Visible = true;

            try
            {
                btnEditar.Visible = true;
                btnVoltar.Visible = true;

                btnSalvar.Visible = false;
                btnCancelar.Visible = false;

                btnExcluir.Visible = true;

                funcionario = new PetContext().Funcionario.Where(p => p.PessoaID == id).First();

                preencherCamposFromObjeto(funcionario);
                CarregaContatos();
            }
            catch (Exception ex)
            {
                lblStatus.Text = "Erro: " + ex.Message;
            }
        }
        private void SetModoBuscaFuncionario()
        {
            funcionario = null;

            pnlMaster.Visible = true;
            pnlDetail.Visible = false;

            gvFuncionarios.DataSource = new PetContext().Funcionario.ToList();
            gvFuncionarios.SelectedIndex = -1;
            gvFuncionarios.DataBind();
        }
        private void SetModoAddFuncionario()
        {
            pnlMaster.Visible = false;
            pnlDetail.Visible = true;

            btnInserir.Visible = true;
            btnCancelar.Visible = true;

            funcionario = new Funcionario();
            funcionario.Contatos.Add(new Contato());

            CarregaContatos();
        }
 private void preencherFromCampos(ref Funcionario f)
 {
     f.Nome = txtNome.Text;
     f.DataNascimento = DateTime.ParseExact(txtNascimento.Text, "ddMMyyyy", CultureInfo.InvariantCulture);
     f.Matricula = Convert.ToInt32(txtMatricula.Text);
     f.Salario = Convert.ToDouble(txtSalario.Text);
     f.DataAdmissao = DateTime.ParseExact(txtAdmissao.Text, "ddMMyyyy", CultureInfo.InvariantCulture);
     f.Contatos = funcionario.Contatos;
 }
 private void preencherCamposFromObjeto(Funcionario f)
 {
     txtNome.Text = f.Nome;
     txtNascimento.Text = f.DataNascimento.ToString("ddMMyyyy", CultureInfo.InvariantCulture);
     txtMatricula.Text = f.Matricula.ToString();
     txtSalario.Text = f.Salario.ToString();
     txtAdmissao.Text = f.DataAdmissao.ToString("ddMMyyyy", CultureInfo.InvariantCulture);
 }