コード例 #1
0
        public void TestDatabaseDivisionLoaderFullNL2001()
        {
            database = new Db(conn);
            TeamGroupTree nationalLeague2001 = DatabaseGroupLoader.LoadRoot("NL", 2001, database);

            Assert.IsTrue(nationalLeague2001.Count == 3);
            Assert.IsTrue(nationalLeague2001.GetTotalItemCount <Team>() == 16);
        }
コード例 #2
0
        public void TestDatabaseDivisionLoaderFullAL2001()
        {
            database = new Db(conn);
            TeamGroupTree americanLeague2001 = DatabaseGroupLoader.LoadRoot("AL", 2001, database);

            Assert.IsTrue(americanLeague2001.Count == 3);
            Assert.IsTrue(americanLeague2001.GetTotalItemCount <Team>() == 14);
        }
コード例 #3
0
        public void TestDatabaseDivisionLoaderFullAL1980()
        {
            database = new Db(conn);
            TeamGroupTree americanLeague1980 = DatabaseGroupLoader.LoadRoot("AL", 1980, database);

            Assert.IsTrue(americanLeague1980.Count == 2);
            Assert.IsTrue(americanLeague1980.GetTotalItemCount <Team>() == 14);
        }
コード例 #4
0
        public void TestDatabaseDivisionLoaderFullNL1980()
        {
            database = new Db(conn);
            TeamGroupTree nationalLeague1980 = DatabaseGroupLoader.LoadRoot("NL", 1980, database);

            Assert.IsTrue(nationalLeague1980.Count == 2);
            Assert.IsTrue(nationalLeague1980.GetTotalItemCount <Team>() == 12);
        }
コード例 #5
0
        /// <summary>
        /// Selects the year.
        /// </summary>
        /// <param name="r">Runnable</param>
        public static void SelectYear(Runnable r)
        {
            Console.WriteLine("What is the year of the Round Robin?");
            string year    = Console.ReadLine();
            int    theYear = DateTime.Now.Year - 1;

            try
            {
                theYear = Int32.Parse(year);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error in input.\nUsing default year ({theYear})...");
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }

            try
            {
                string directoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")} Round Robin {theYear}/");
                Db     database      = new Db(Constants.SQLITE3_CONNECTION_STRING);
                Console.WriteLine("Loading team group trees...");
                TeamGroupTree americanLeague = DatabaseGroupLoader.LoadRoot("AL", theYear, database);
                americanLeague.ParentDirectoryPath = directoryPath;
                americanLeague.IsSilentMode        = true;
                americanLeague.Interval            = 50;
                Console.WriteLine($"Loaded {americanLeague} from database...");

                TeamGroupTree nationalLeague = DatabaseGroupLoader.LoadRoot("NL", theYear, database);
                nationalLeague.ParentDirectoryPath = directoryPath;
                nationalLeague.IsSilentMode        = true;
                nationalLeague.Interval            = 50;
                Console.WriteLine($"Loaded {nationalLeague} from database...");

                if (!System.IO.Directory.Exists(directoryPath))
                {
                    System.IO.Directory.CreateDirectory(directoryPath);
                    Console.WriteLine($"Creating directory {directoryPath}");
                }

                Console.WriteLine($"Playing {americanLeague} round robin...");
                americanLeague.Execute();

                Console.WriteLine($"Playing {nationalLeague} round robin...");
                nationalLeague.Execute();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadLine();
            }
        }
コード例 #6
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);
        }
コード例 #7
0
        public void TestRoundRobinFullDivisions1969()
        {
            Db            database           = new Db(conn);
            TeamGroupTree americanLeague1969 = DatabaseGroupLoader.LoadRoot("AL", 1969, database, 1);

            americanLeague1969.ParentDirectoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")}");
            Assert.IsTrue(americanLeague1969.Count == 2);
            Assert.IsTrue(americanLeague1969.GetTotalItemCount <Team>() == 12);

            TeamGroupTree nationalLeague1969 = DatabaseGroupLoader.LoadRoot("NL", 1969, database, 1);

            nationalLeague1969.ParentDirectoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")}");
            Assert.IsTrue(nationalLeague1969.Count == 2);
            Assert.IsTrue(nationalLeague1969.GetTotalItemCount <Team>() == 12);

            bool finished = false;

            americanLeague1969.Execute();
            nationalLeague1969.Execute();
            finished = true;
            Assert.IsTrue(finished);
        }
コード例 #8
0
ファイル: NRankings.cs プロジェクト: mdbull/StatusQuoBaseball
        public void Init()
        {
            ConfigurationManager.Init(Constants.CONFIG_FILE_PATH, Constants.CONFIG_FILE_DELIMITER);
            StoredProcedureManager.Init(@"./Data/StoredProcedures/");
            VenueManager.Init(ConfigurationManager.GetConfigurationValue("STADIUM_FILE_DIRECTORY"), true);
            conn = Constants.SQLITE3_CONNECTION_STRING;

            database       = new Db(conn);
            americanLeague = DatabaseGroupLoader.LoadRoot("AL", year, database);
            americanLeague.ParentDirectoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")}");
            nationalLeague = DatabaseGroupLoader.LoadRoot("NL", year, database);
            nationalLeague.ParentDirectoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")}");

            try
            {
                americanLeague.Execute();
                nationalLeague.Execute();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #9
0
        /// <summary>
        /// Display the specified r.
        /// </summary>
        /// <param name="r">Runnable</param>
        public static void Display(Runnable r)
        {
            int level = 0;

            Console.WriteLine($"Please enter a league and year [e.g, AL 2001]");
            string[]      choice   = Console.ReadLine().Split(' ');
            Db            database = new Db(MainClass.conn);
            TeamGroupTree league   = DatabaseGroupLoader.LoadRoot(choice[0], Convert.ToInt32(choice[1]), database);

            Console.WriteLine($"{league.Name} ({league.GetTotalItemCount<Team>()})");
            foreach (TeamGroup group in league)
            {
                if (league.Count > 1)
                {
                    DisplayLevel(level + 1, $"{group.Name} ({group.GetTotalItemCount<Team>()})");
                }
                foreach (Team team in group)
                {
                    DisplayLevel(level + 2, $"{team.Name} ({team.Roster.Players.Length})");
                }
                Console.WriteLine();
            }
        }
コード例 #10
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);
        }