/// <summary> /// Um dos 3 maiores (1, 2 ou 3) /// Ou o maior vencedor da semana /// </summary> /// <param name="id">Colocação</param> /// <returns>Jogador nessa colocação, em caso de erro retorna mensagem</returns> // GET: api/WeekWinners/2 public PlayerWeekStats Get(int id) { PlayerWeekStats P = new PlayerWeekStats(); List <string[]> LTD = Database.DatabaseConnect.GetWeekWins(); if ((id < 1) || id > 3) //Ajusta índice { id = 1; } if (LTD.Count == 3) //Tem top 3 { string[] p = LTD[id - 1]; P.Name = p[0]; P.WSO = p[1]; P.WSTw = p[2]; P.WSTh = p[3]; P.WSF = p[4]; } else //Erro { string[] message = LTD[0]; P.Name = "Erro"; P.WSO = message[0]; P.WSTw = message[1]; P.WSTh = ""; P.WSF = ""; } return(P); }
public static WeekStatsPlayerDocument FromCoreEntity(PlayerWeekStats stats, Dictionary <string, Guid> nflIdMap) { var result = new WeekStatsPlayerDocument { PlayerId = nflIdMap[stats.NflId], TeamId = stats.TeamId, Season = stats.Week.Season, Week = stats.Week.Week }; var playerStats = new Dictionary <MongoWeekStatType, double>(); foreach (KeyValuePair <WeekStatType, double> statKv in stats.Stats) { if (WeekStatCategory.DST.Contains(statKv.Key)) { continue; } if (WeekStatCategory.Pass.Contains(statKv.Key)) { result.HasPass = true; } if (WeekStatCategory.Rush.Contains(statKv.Key)) { result.HasRush = true; } if (WeekStatCategory.Receive.Contains(statKv.Key)) { result.HasReceive = true; } if (WeekStatCategory.Return.Contains(statKv.Key)) { result.HasReturn = true; } if (WeekStatCategory.Misc.Contains(statKv.Key)) { result.HasMisc = true; } if (WeekStatCategory.Kick.Contains(statKv.Key)) { result.HasKick = true; } if (WeekStatCategory.IDP.Contains(statKv.Key)) { result.HasIdp = true; } playerStats[(MongoWeekStatType)statKv.Key] = statKv.Value; } result.Stats = playerStats; return(result); }
public static WeekStatsDstDocument FromCoreEntity(PlayerWeekStats stats) { int teamId = Teams.GetIdFromNflId(stats.NflId); var dstStats = new Dictionary <MongoWeekStatType, double>(); foreach (KeyValuePair <WeekStatType, double> statKv in stats.Stats) { if (WeekStatCategory.DST.Contains(statKv.Key)) { dstStats[(MongoWeekStatType)statKv.Key] = statKv.Value; } } return(new WeekStatsDstDocument { TeamId = teamId, Season = stats.Week.Season, Week = stats.Week.Week, Stats = dstStats }); }
public static bool TryGetReturnSql(this PlayerWeekStats stats, Dictionary <string, Guid> nflIdMap, out WeekStatsReturnSql sql) { sql = null; var returnStats = stats.GetReturnStats(); if (!returnStats.Any() || !nflIdMap.TryGetValue(stats.NflId, out Guid id)) { return(false); } sql = new WeekStatsReturnSql { PlayerId = id, TeamId = stats.TeamId, Season = stats.Week.Season, Week = stats.Week.Week }; sql.UpdateFromStats(returnStats); return(true); }
public static bool TryGetDstSql(this PlayerWeekStats stats, Dictionary <string, Guid> nflIdMap, out WeekStatsDstSql sql) { sql = null; var dstStats = stats.GetDstStats(); if (!dstStats.Any() || !nflIdMap.TryGetValue(stats.NflId, out Guid id)) { return(false); } int teamId = Teams.GetIdFromNflId(stats.NflId); sql = new WeekStatsDstSql { TeamId = teamId, Season = stats.Week.Season, Week = stats.Week.Week }; sql.UpdateFromStats(dstStats); return(true); }