public PlayerWeek PlayerWeekCalculated(Player player) { if (!_playerWeekCalculated.ContainsKey(player)) { PlayerWeek playerWeek = new PlayerWeek(player, this); _playerWeekCalculated.Add(player, playerWeek); } return(_playerWeekCalculated[player]); }
public PlayerWeek PlayerWeekDatabase(Player player) { if (!_playerWeekDatabase.ContainsKey(player)) { PlayerWeek playerWeek = new PlayerWeek(player, this); _playerWeekDatabase.Add(player, playerWeek); } return(_playerWeekDatabase[player]); }
private void ValidatePlayerPinfallHistory() { // Assuming only that the carry forward handicap is correct, and scratch scores are correct // validate that each player game has the correct handicap pinfall. // Check also that we do not have spurious player records. BowlingManagement.Static.Logs.Status.AddLogMessage("Validating player pinfall history", Log.MessageSeverity.Info); return; foreach (Team team in _dctTeamsByNumber.Values) { foreach (Player player in team.Players.Values) { // First read the raw game data string sqlPlayerGames = "SELECT * from playergame where player=@playerCode ORDER BY week, gameNo"; MySqlCommand cmdPlayerGames = new MySqlCommand(sqlPlayerGames); cmdPlayerGames.Parameters.Add(new MySqlParameter("@playerCode", MySqlDbType.String)); cmdPlayerGames.Connection = Static.Database.CNBowling; MySqlDataReader rdrPlayerGames = cmdPlayerGames.ExecuteReader(); if (!rdrPlayerGames.HasRows) { // This is fine, the player just hasn't played yet. rdrPlayerGames.Close(); return; } else { while (rdrPlayerGames.Read()) { Week week; if (_dctWeeks.ContainsKey(Int32.Parse(rdrPlayerGames["week"].ToString()))) { week = _dctWeeks[Int32.Parse(rdrPlayerGames["week"].ToString())]; PlayerWeek playerWeek = week.PlayerWeekDatabase(player); playerWeek.AddScratchScore(Int32.Parse(rdrPlayerGames["gameNo"].ToString()), Int32.Parse(rdrPlayerGames["scratchGame"].ToString())); } else { BowlingManagement.Static.Logs.Status.AddLogMessage("Games found for " + rdrPlayerGames["player"] + " in an invalid week " + rdrPlayerGames["week"].ToString(), Log.MessageSeverity.Error); } } } Dictionary <string, PlayerWeek> dctPlayerSeason = new Dictionary <string, PlayerWeek>(); string sqlPlayerSeason = "SELECT * from playerseason where player=@playerCode ORDER BY week"; MySqlCommand cmdPlayerSeason = new MySqlCommand(sqlPlayerSeason); cmdPlayerSeason.Parameters.Add(new MySqlParameter("@playerCode", MySqlDbType.String)); cmdPlayerSeason.Connection = Static.Database.CNBowling; cmdPlayerSeason.Prepare(); MySqlDataReader rdrPlayerSeason = cmdPlayerSeason.ExecuteReader(); if (!rdrPlayerSeason.HasRows) { // This is fine, the player just hasn't played yet. rdrPlayerSeason.Close(); return; } else { while (rdrPlayerSeason.Read()) { } } } } }