private void PopularTela(int idCampeonato, int idGrupo)
        {
            DataKartDataContext dk = new DataKartDataContext();
            Kart_Campeonato     kc = (from k in dk.Kart_Campeonatos where k.idGrupo == idGrupo && k.idCampeonato == idCampeonato select k).FirstOrDefault();

            if (kc != null)
            {
                ViewState["kgAtivo"]   = kc.Ativo.HasValue ? kc.Ativo.Value : false;
                txtDtFim.Text          = kc.dtFim.ToString("dd/MM/yyyy");
                txtDtInicio.Text       = kc.dtInicio.ToString("dd/MM/yyyy");
                txtNomeCampeonato.Text = kc.NomeCampeonato;
                ddlAtivo.ClearSelection();
                ddlAtivo.Items.FindByValue(kc.Ativo.HasValue ? kc.Ativo.Value.ToString().ToLower() : "false").Selected = true;
            }
            else
            {
                Alert("Erro para recuperar as informações do Campeonato.");
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                Kart_Campeonato     kc = null;
                DataKartDataContext dk = new DataKartDataContext();
                if (IdCampeonato > 0)
                {
                    if (IsAdmin)
                    {
                        kc = (from k in dk.Kart_Campeonatos
                              where k.idCampeonato == IdCampeonato && k.idGrupo == IdGrupo
                              select k).FirstOrDefault();
                    }
                    else
                    {
                        Alert("Você não possue permissão para editar este campeonato.");
                        return;
                    }
                }
                else
                {
                    kc         = new Kart_Campeonato();
                    kc.idGrupo = IdGrupo;
                }
                ValidarDatas();

                kc.Ativo          = Convert.ToBoolean(ddlAtivo.SelectedValue);
                kc.dtInicio       = Convert.ToDateTime(txtDtInicio.Text);
                kc.dtFim          = Convert.ToDateTime(txtDtFim.Text);
                kc.dtCriacao      = DateTime.Now;
                kc.NomeCampeonato = txtNomeCampeonato.Text;

                if (IdCampeonato <= 0)
                {
                    dk.GetTable <Kart_Campeonato>().InsertOnSubmit(kc);
                }

                dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                btnEditar.Text = "Editar";
                ddlAtivo.ClearSelection();
                ltTitulo.Text    = "Alteração do Campeonato";
                ltDescricao.Text = "Efetuar alteração do Campeonato";
                if (ViewState["OldIdCampeonato"] != null)
                {
                    IdCampeonato = Convert.ToInt16(ViewState["OldIdCampeonato"]);
                    ViewState["OldIdCampeonato"] = null;
                }
                PopularTela(IdCampeonato, IdGrupo);
                DisableEditCampeonato(true);

                if (IdCampeonato > 0)
                {
                    Alert("Alteração do Campeonato efetuado com sucesso!");
                }
                else
                {
                    Alert("Criação do Campeonato efetuado com sucesso!");
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
        }