private bool PlayerHaveOpponents(JogadorHistorico player, IEnumerable <JogadorHistorico> team) { var opponent = _listaPartidas?.FirstOrDefault(x => x.ClubeCasaId == player.ClubeId && x.Rodada == player.RodadaId + 1)?.ClubeVisitanteId ?? _listaPartidas.FirstOrDefault(x => x.ClubeVisitanteId == player.ClubeId && x.Rodada == player.RodadaId + 1).ClubeCasaId; return(team.Any(x => x.ClubeId == opponent)); }
private void Consolidar(JogadorHistorico jogadorHistorico) { jogadorHistorico.Consolidado = true; if (jogadorHistorico.Scout != null) { jogadorHistorico.Scout.Consolidado = true; } }
private decimal GetNextRoundScore(JogadorHistorico jogador) { var nextScore = _players .Where(x => x.JogadorId == jogador.JogadorId)? .FirstOrDefault(x => x.RodadaId == jogador.RodadaId + 1)? .PontosNum ?? 0m; return(nextScore); }
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); } }