コード例 #1
0
        public void TestDatabaseDivisionLoaderParts()
        {
            database = new Db(conn);
            Team yankees2001      = DatabaseTeamLoader.LoadTeam("New York", "Yankees", "NYA", 2001, database);
            Team diamondbacks2001 = DatabaseTeamLoader.LoadTeam("Arizona", "Diamondbacks", "ARI", 2001, database);
            Team mariners2001     = DatabaseTeamLoader.LoadTeam("Seattle", "Mariners", "SEA", 2001, database);

            Team orioles2001 = DatabaseTeamLoader.LoadTeam("Baltimore", "Orioles", "BAL", 2001, database);
            Team redsox2001  = DatabaseTeamLoader.LoadTeam("Boston", "Red Sox", "BOS", 2001, database);
            Team astros2001  = DatabaseTeamLoader.LoadTeam("Houston", "Astros", "HOU", 2001, database);


            Team[] teams  = { yankees2001, diamondbacks2001, mariners2001 };
            Team[] teams2 = { orioles2001, redsox2001, astros2001 };

            TeamGroupTree nationalLeague2001 = new TeamGroupTree("NL2001", "National League 2001");

            nationalLeague2001.Add(new TeamGroup("NLW2001", "National League West 2001", teams));
            nationalLeague2001.Add(new TeamGroup("NLE2001", "National League East 2001", teams2));
            Assert.IsTrue(nationalLeague2001.GetTotalItemCount <Team>() == 6);
            Console.WriteLine(nationalLeague2001[0]);
            Console.WriteLine(nationalLeague2001[1]);
            Console.WriteLine(nationalLeague2001);
        }
コード例 #2
0
        /// <summary>
        /// Loads the team group.
        /// </summary>
        /// <returns>TeamGroup</returns>
        /// <param name="leagueName">string</param>
        /// <param name="year">int</param>
        /// <param name="database">Db</param>
        /// <param name="seriesLength">int</param>
        public static TeamGroupTree LoadRoot(string leagueName, int year, Db database, int seriesLength = 3)
        {
            TeamGroupTree league = null;
            Dictionary <string, TeamGroup> divisions = new Dictionary <string, TeamGroup>();

            SQLStoredProcedure sp = StoredProcedureManager.Get("GetDivisionInfo");

            sp.Parameters = new object[] { leagueName, year };
            SQLQueryResult result        = database.ExecuteQuery(sp.Text);
            DataTable      teamGroupInfo = result.DataTable;
            string         leagueID      = teamGroupInfo.Rows[0]["lgID"].ToString();

            foreach (DataRow row in teamGroupInfo.Rows)
            {
                string    teamID   = row["teamID"].ToString();
                string    teamName = row["name"].ToString();
                string    divID    = row["divID"].ToString();
                TeamGroup group    = null;
                Team      team     = null;

                team = DatabaseTeamLoader.LoadTeam(teamName, year, database);
                if (!divisions.ContainsKey(divID))
                {
                    group = new TeamGroup(divID, divID);
                    divisions.Add(divID, group);
                    if (!group.Contains(team))
                    {
                        group.Add(team);
                    }
                }
                else
                {
                    divisions[divID].Add(team);
                }
                Console.WriteLine($"Added {team} to division '{divID}'");
                System.Threading.Thread.Sleep(150);
            }
            league = new TeamGroupTree(leagueID, leagueName, seriesLength);

            foreach (TeamGroup division in divisions.Values)
            {
                league.Add(division);
                Console.WriteLine($"Added division '{division.Name}' to league '{league.Name}'");
                System.Threading.Thread.Sleep(150);
            }

            return(league);
        }