private void btnGravar_Click(object sender, EventArgs e)
        {
            Modelo.SGTTContexto contexto = new Modelo.SGTTContexto();
            DialogResult        result;

            result = MessageBox.Show("Confirma Gravação?", "Salvar", MessageBoxButtons.YesNo,
                                     MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (result == DialogResult.Yes)
            {
                int          id    = Convert.ToInt32(lblId.Text);
                Modelo.Etapa etapa = new Modelo.Etapa();

                if (id != -1)
                {
                    etapa = contexto.Etapa.Find(id);
                }

                //popular o objeto com os valores do formulário
                etapa.id           = id;
                etapa.campeonatoID = Convert.ToInt32(cmbCampeonato.SelectedValue);
                etapa.numero       = Convert.ToInt32(txtNumero.Text);
                etapa.dataInicio   = Convert.ToDateTime(dtpInicio.Text);
                etapa.dataFim      = Convert.ToDateTime(dtpFim.Text);
                etapa.descricao    = txtDescricao.Text;
                etapa.cidadeID     = Convert.ToInt32(cmbCidade.SelectedValue);

                etapa.contratante   = Convert.ToString(txtContratante.Text);
                etapa.premio        = Convert.ToSingle(txtPremio.Text);
                etapa.qtdePremiados = Convert.ToInt32(txtPremiados.Text);

                if (etapa.id == -1) // se for inserir
                {
                    contexto.Etapa.Add(etapa);
                }
                else  // se for editar
                {
                    contexto.Entry(etapa).State = EntityState.Modified;
                }

                contexto.SaveChanges();
                MessageBox.Show("Dados gravados com sucesso", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Dados não gravado", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            limparCampos();
            habilitaCampos(false);
            dgvEtapa.DataSource = "";
            dgvEtapa.DataSource = contexto.Etapa.ToList();
        }
        private void btnGravar_Click(object sender, EventArgs e)
        {
            Modelo.SGTTContexto contexto = new Modelo.SGTTContexto();
            DialogResult        result;

            result = MessageBox.Show("Confirma Gravação?", "Salvar", MessageBoxButtons.YesNo,
                                     MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (result == DialogResult.Yes)
            {
                int id = Convert.ToInt32(lblId.Text);
                Modelo.EtapaCategoria etapacategoria = new Modelo.EtapaCategoria();

                if (id != -1)
                {
                    etapacategoria = contexto.EtapaCategoria.Find(id);
                }

                //popular o objeto com os valores do formulário
                etapacategoria.id          = id;
                etapacategoria.etapaID     = Convert.ToInt32(cmbEtapa.SelectedValue);
                etapacategoria.categoriaID = Convert.ToInt32(cmbCategoria.SelectedValue);
                etapacategoria.numdias     = Convert.ToInt32(txtDias.Text);

                if (etapacategoria.id == -1) // se for inserir
                {
                    contexto.EtapaCategoria.Add(etapacategoria);
                }
                else  // se for editar
                {
                    contexto.Entry(etapacategoria).State = EntityState.Modified;
                }

                contexto.SaveChanges();
                MessageBox.Show("Dados gravados com sucesso", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Dados não gravado", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            limparCampos();
            habilitaCampos(false);
            dgvEtapaCategoria.DataSource = "";
            dgvEtapaCategoria.DataSource = contexto.EtapaCategoria.ToList();
        }