示例#1
0
 public PlayerWeek PlayerWeekCalculated(Player player)
 {
     if (!_playerWeekCalculated.ContainsKey(player))
     {
         PlayerWeek playerWeek = new PlayerWeek(player, this);
         _playerWeekCalculated.Add(player, playerWeek);
     }
     return(_playerWeekCalculated[player]);
 }
示例#2
0
 public PlayerWeek PlayerWeekDatabase(Player player)
 {
     if (!_playerWeekDatabase.ContainsKey(player))
     {
         PlayerWeek playerWeek = new PlayerWeek(player, this);
         _playerWeekDatabase.Add(player, playerWeek);
     }
     return(_playerWeekDatabase[player]);
 }
示例#3
0
        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())
                        {
                        }
                    }
                }
            }
        }