public CartolaCargaResponse ConsolidarRodada(int?rodada = 22) { var response = new CartolaCargaResponse(); var isRodadaAtual = rodada == null; if (isRodadaAtual) { var responseJogadores = CargaJogadores(); response.Mensagem += $"Tabela Jogadores: inserts => {responseJogadores.QuantidadeInserts}, updates => {responseJogadores.QuantidadeUpdates}\n{(string.IsNullOrWhiteSpace(responseJogadores.Mensagem) ? "" : responseJogadores.Mensagem + "\n")}"; } var rodadaConsolidar = rodada ?? _cartolaService.GetUltimaRodadaSemConsolidar(); var responsePartidas = CargaPartidas(rodadaConsolidar); response.Mensagem += $"Tabela Partidas: inserts => {responsePartidas.QuantidadeInserts}, updates => {responsePartidas.QuantidadeUpdates}\n{(string.IsNullOrWhiteSpace(responsePartidas.Mensagem) ? "" : responsePartidas.Mensagem + "\n")}"; var responseParciais = CargaParciais(rodadaConsolidar, true); response.Mensagem += $"Tabela PontuacaoParcial: inserts => {responseParciais.QuantidadeInserts}, updates => {responseParciais.QuantidadeUpdates}\n{(string.IsNullOrWhiteSpace(responseParciais.Mensagem) ? "" : responseParciais.Mensagem + "\n")}"; var responseGerais = _cargaCartolaRepository.ConsolidarRegistrosRestantes(rodadaConsolidar); response.Mensagem += $"Tabelas gerais: inserts => {responseGerais.QuantidadeInserts}, updates => {responseGerais.QuantidadeUpdates}\n{(string.IsNullOrWhiteSpace(responseGerais.Mensagem) ? "" : responseGerais.Mensagem + "\n")}"; return(response); }
public CartolaCargaResponse InsertPartida(List <Partida> listaPartidas) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Partida.Include(b => b.Transmissao).ToList(); foreach (var partida in listaPartidas) { if (db.Any(x => x.PartidaId == partida.PartidaId)) { Partida partidaUpdate = db.First(x => x.PartidaId == partida.PartidaId).UpdatePartida(partida); _cartolaDBContext.Update(partidaUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(partida); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertRodada(List <Rodada> listaRodada) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Rodada.ToList(); foreach (var rodada in listaRodada) { if (db.Any(x => x.RodadaId == rodada.RodadaId)) { Rodada rodadaUpdate = db.First(x => x.RodadaId == rodada.RodadaId).UpdateRodada(rodada); _cartolaDBContext.Update(rodadaUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(rodada); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertStatus(List <Status> listaStatus) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Status.ToList(); foreach (var status in listaStatus) { if (db.Any(x => x.StatusId == status.StatusId)) { Status statusUpdate = db.First(x => x.StatusId == status.StatusId).UpdateStatus(status); _cartolaDBContext.Update(statusUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(status); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertEsquemas(List <Esquema> listaEsquemas) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Esquema.Include(b => b.Posicoes).ToList(); foreach (var esquema in listaEsquemas) { if (db.Any(x => x.EsquemaId == esquema.EsquemaId)) { Esquema esquemaUpdate = db.First(x => x.EsquemaId == esquema.EsquemaId).UpdateEsquema(esquema); _cartolaDBContext.Update(esquemaUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(esquema); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertPosicoes(List <Posicao> listaPosicoes) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Posicao.ToList(); foreach (var posicao in listaPosicoes) { if (db.Any(x => x.PosicaoId == posicao.PosicaoId)) { Posicao posicaoUpdate = db.First(x => x.PosicaoId == posicao.PosicaoId).UpdatePosicao(posicao); _cartolaDBContext.Update(posicaoUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(posicao); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertClubes(List <Clube> clubes) { var apiResponse = new CartolaCargaResponse(); try { using var transaction = _cartolaDBContext.Database.BeginTransaction(); var db = _cartolaDBContext.Clube.Include(b => b.Escudos).ToList(); foreach (var clube in clubes) { if (db.Any(x => x.ClubeId == clube.ClubeId)) { Clube clubeUpdate = db.First(x => x.ClubeId == clube.ClubeId).UpdateClube(clube); _cartolaDBContext.Update(clubeUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(clube); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse ConsolidarRegistrosRestantes(int rodadaConsolidar) { var apiResponse = new CartolaCargaResponse(); var Origens = new List <int>() { (int)OrigemEnum.JogadorHistorico, (int)OrigemEnum.Pontuacao }; using var transaction = _cartolaDBContext.Database.BeginTransaction(); try { var registroJogadorHistorico = _cartolaDBContext.JogadorHistorico .Where(x => /*TODO x.RodadaId == rodadaConsolidar && */ x.Consolidado == false) .ToList(); var registroScout = _cartolaDBContext.Scout .Where(x => /*x.RodadaId == rodadaConsolidar && */ x.Consolidado == false && Origens.Contains((int)x.Origem)) .ToList(); var registroPontuacaoParcial = _cartolaDBContext.PontuacaoParcial .Where(x => /*x.RodadaId == rodadaConsolidar && */ x.Consolidado == false) .ToList(); foreach (var jogador in registroJogadorHistorico) { jogador.Consolidado = true; _cartolaDBContext.Update(jogador); apiResponse.QuantidadeUpdates++; } foreach (var scout in registroScout) { scout.Consolidado = true; _cartolaDBContext.Update(scout); apiResponse.QuantidadeUpdates++; } foreach (var parcial in registroPontuacaoParcial) { parcial.Consolidado = true; _cartolaDBContext.Update(parcial); apiResponse.QuantidadeUpdates++; } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertJogadores(List <Jogador> listaJogadores) { var apiResponse = new CartolaCargaResponse(); try { using var scope = new TransactionScope( TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }); var db = _cartolaDBContext.Jogador.Include(b => b.ScoutAtual).ToList(); foreach (var jogador in listaJogadores) { if (db.Any(x => x.JogadorId == jogador.JogadorId)) { Jogador jogadorUpdate = db.First(x => x.JogadorId == jogador.JogadorId).UpdateJogador(jogador); _cartolaDBContext.Update(jogadorUpdate); apiResponse.QuantidadeUpdates++; } else { _cartolaDBContext.Add(jogador); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); scope.Complete(); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } var responseJogadoresHistoricos = InsertJogadoresHistorico(listaJogadores); if (string.IsNullOrWhiteSpace(responseJogadoresHistoricos.Errors)) { apiResponse.Mensagem = $"Tabela JogadoresHistorico: inserts => {responseJogadoresHistoricos.QuantidadeInserts}, updates => {responseJogadoresHistoricos.QuantidadeUpdates}"; } else { apiResponse.Errors += responseJogadoresHistoricos.Errors; } return(apiResponse); }
public CartolaCargaResponse InsertJogadoresHistorico(List <Jogador> listaJogadores, int?rodada = null) { var apiResponse = new CartolaCargaResponse(); try { if (rodada == null) { rodada = listaJogadores.First(x => x.RodadaId >= 0).RodadaId; } using var scope = new TransactionScope(); var db = _cartolaDBContext.JogadorHistorico.Include(b => b.Scout).Where(x => x.RodadaId == rodada).ToList(); foreach (var jogador in listaJogadores) { JogadorHistorico jogadorHistorio = (JogadorHistorico)jogador; if (db.Any(x => x.JogadorId == jogadorHistorio.JogadorId)) { JogadorHistorico jogadorHistoricoUpdate = db.First(x => x.JogadorId == jogadorHistorio.JogadorId); if (!jogadorHistoricoUpdate.Consolidado) { jogadorHistoricoUpdate = jogadorHistoricoUpdate.UpdateJogadorHistorico(jogadorHistorio); _cartolaDBContext.Update(jogadorHistoricoUpdate); apiResponse.QuantidadeUpdates++; } } else { _cartolaDBContext.Add(jogadorHistorio); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); scope.Complete(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
private CartolaCargaResponse UpdateJogadoresHistorico(List <PontuacaoParcial> listaPontuacaoParcial, int rodadaAtual, bool consolidar = false) { var apiResponse = new CartolaCargaResponse(); using var transaction = _cartolaDBContext.Database.BeginTransaction(); try { var db = _cartolaDBContext.JogadorHistorico.Where(x => x.RodadaId == rodadaAtual).ToList(); foreach (var parcial in listaPontuacaoParcial) { var jogadorHistorico = db.FirstOrDefault(x => x.JogadorId == parcial.JogadorId && x.RodadaId == parcial.RodadaId); if (jogadorHistorico != null && !jogadorHistorico.Consolidado && !jogadorHistorico.Comparar(parcial)) { jogadorHistorico.UpdateJogadorHistorico(parcial); if (consolidar) { Consolidar(jogadorHistorico); } _cartolaDBContext.Update(jogadorHistorico); apiResponse.QuantidadeUpdates++; } else if (jogadorHistorico != null && !jogadorHistorico.Consolidado && consolidar) { Consolidar(jogadorHistorico); _cartolaDBContext.Update(jogadorHistorico); apiResponse.QuantidadeUpdates++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }
public CartolaCargaResponse InsertPontuacaoParcial(List <PontuacaoParcial> listaPontuacaoParcial, bool consolidar = false) { var apiResponse = new CartolaCargaResponse(); using var transaction = _cartolaDBContext.Database.BeginTransaction(); try { var rodadaAtual = listaPontuacaoParcial.First(x => x.RodadaId > 0).RodadaId; var db = _cartolaDBContext.PontuacaoParcial.Include(b => b.Scout).Where(x => x.RodadaId == rodadaAtual).ToList(); foreach (var parcial in listaPontuacaoParcial) { if (db.Any(x => x.JogadorId == parcial.JogadorId)) { PontuacaoParcial pontuacaoParcialUpdate = db.First(x => x.JogadorId == parcial.JogadorId); if (!pontuacaoParcialUpdate.Consolidado && !pontuacaoParcialUpdate.Comparar(parcial)) { pontuacaoParcialUpdate = pontuacaoParcialUpdate.UpdatePontuacaoParcial(parcial); if (consolidar) { Consolidar(pontuacaoParcialUpdate); } _cartolaDBContext.Update(pontuacaoParcialUpdate); apiResponse.QuantidadeUpdates++; } else if (!pontuacaoParcialUpdate.Consolidado && consolidar) { Consolidar(pontuacaoParcialUpdate); _cartolaDBContext.Update(pontuacaoParcialUpdate); apiResponse.QuantidadeUpdates++; } } else { if (consolidar) { Consolidar(parcial); } _cartolaDBContext.Add(parcial); apiResponse.QuantidadeInserts++; } } _cartolaDBContext.SaveChanges(); transaction.Commit(); CartolaCargaResponse updadeResponse = UpdateJogadoresHistorico(listaPontuacaoParcial, rodadaAtual, consolidar); if (string.IsNullOrWhiteSpace(updadeResponse.Errors)) { apiResponse.Mensagem = $"Tabela JogadoresHistorico: updates => {updadeResponse.QuantidadeUpdates}"; } else { apiResponse.Errors += updadeResponse.Errors; } return(apiResponse); } catch (Exception erro) { apiResponse.Errors = erro.Message; return(apiResponse); } }