public void AtualizarResultado(Partida partida)
        {
            SqlTransaction transacao = null;

            try
            {
                using (contexto = new Contexto())
                {
                    ClassificacaoRepositorioADO classificacao = new ClassificacaoRepositorioADO();
                    Partida       partidaBancoDados           = this.ListarPorId(partida.Id.ToString(), contexto);
                    Classificacao classificacaoMandante       = classificacao.ListarPorId(partida.IdTimeMandante, partida.IdCampeonato, contexto);
                    Classificacao classificacaoVisitante      = classificacao.ListarPorId(partida.IdTimeVisitante, partida.IdCampeonato, contexto);


                    transacao = contexto.MinhaConexao().BeginTransaction(IsolationLevel.ReadCommitted);



                    //Se os pontos a partida já foram computados, temos que atualizar a tabela retirando os dados computados
                    if (partida.PontosComputados)
                    {
                        RemoverClassificacaoVisitante(partidaBancoDados, ref transacao, ref classificacaoVisitante);

                        RemoverClassificacaoMandante(partidaBancoDados, ref transacao, ref classificacaoMandante);
                    }

                    //Classificacao classificacaoMandante2 = classificacao.ListarPorId(partida.IdTimeMandante, contexto2);
                    //Classificacao classificacaoVisitante2 = classificacao.ListarPorId(partida.IdTimeVisitante, contexto2);


                    AtualizarClassificacaoVisitante(partida, ref transacao, ref classificacaoVisitante);

                    AtualizarClassificacaoMandante(partida, ref transacao, ref classificacaoMandante);


                    var strQuery = "";
                    strQuery += " UPDATE partida SET";
                    strQuery += string.Format(" gol_time_mandante = '{0}', ", partida.GolMandante);
                    strQuery += string.Format(" gol_time_visitante = '{0}', ", partida.GolVisitante);
                    strQuery += string.Format(" pontos_computado = '{0}' ", 1);
                    strQuery += string.Format(" WHERE Id = {0} ", partida.Id);
                    contexto.ExecutaComandoTransacao(strQuery, transacao);

                    transacao.Commit();
                }
            }
            catch (Exception ex)
            {
                TratamentoLog.GravarLog("PartidaRepositorioADO::AtualizarResultado:. Erro ao AtualizarResultado - " + ex.Message, TratamentoLog.NivelLog.Erro);
                transacao.Rollback();
            }
        }
        public void GerarPartidaAutomaticamenteTime(List <Time> listaTimes, String idCampeonatoSelecionado)
        {
            SqlTransaction transacao = null;

            try
            {
                using (contexto = new Contexto())
                {
                    transacao = contexto.MinhaConexao().BeginTransaction(IsolationLevel.ReadCommitted);

                    for (int i = 0; i < listaTimes.ToList().Count; i++)
                    {
                        for (int j = i + 1; j <= listaTimes.ToList().Count - 1; j++)
                        {
                            Time timeMandandate = listaTimes[i];
                            Time timeVisitante  = listaTimes[j];

                            var strQuery = "INSERT INTO partida (id_campeonato,id_time_mandante,id_time_visitante)";
                            strQuery += string.Format(" VALUES ('{0}','{1}','{2}')",
                                                      idCampeonatoSelecionado, timeMandandate.Id, timeVisitante.Id);

                            contexto.ExecutaComandoTransacao(strQuery, transacao);
                            TratamentoLog.GravarLog("idCampeonatoSelecionado: " + idCampeonatoSelecionado + " x " + "  timeMandandate.Id " + timeMandandate.Id + " x " + "  timeVisitante.Id " + timeVisitante.Id);
                        }

                        //Inserir a tabela em branco ao gerar as partidas
                        ClassificacaoRepositorioADO classificacao = new ClassificacaoRepositorioADO();
                        Classificacao objClassificacao            = new Classificacao();
                        objClassificacao.IdCampeonato = idCampeonatoSelecionado;
                        objClassificacao.IdTime       = listaTimes[i].Id.ToString();
                        classificacao.Salvar(objClassificacao);
                    }

                    transacao.Commit();
                }
            }
            catch (Exception ex)
            {
                transacao.Rollback();
                TratamentoLog.GravarLog("PartidaRepositorioADO::GerarPartidaAutomaticamenteTime:. Erro ao geras Partidas" + ex.Message, TratamentoLog.NivelLog.Erro);
            }
        }