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