Example #1
0
        public void TestYears()
        {
            Db database = new Db(MainClass.conn);

            int startYear = 1884;
            int endYear   = DateTime.Now.Year - 1;

            int        iterations   = 0;
            int        passes       = 0;
            List <int> yearsOmitted = new List <int>();

            for (int year = startYear; year <= endYear; year++)
            {
                if (!emptyYears.Contains(year))
                {
                    try
                    {
                        SQLQueryResult result  = DatabaseChampionshipSeriesLoader.GetSeriesInfo(year, database);
                        int            results = result.DataTable.Rows.Count;
                        Console.WriteLine($"{year}: Result Rows={results}");
                        if (results > 0)
                        {
                            passes++;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.WriteLine(ex.StackTrace);
                    }
                    iterations++;
                }
                else
                {
                    yearsOmitted.Add(year);
                }
            }
            Console.WriteLine($"Passed {passes}/{iterations}");
            Console.Write("Years omitted:");
            foreach (int year in yearsOmitted)
            {
                Console.Write($" {year}");
            }
            Console.WriteLine();
            Assert.IsTrue(passes == iterations);
            Assert.IsTrue(yearsOmitted.Count == emptyYears.Length);
        }
        /// <summary>
        /// Selects the world series based on the year provided.
        /// </summary>
        /// <param name="r">Runnable</param>
        public static void SelectWorldSeries(Runnable r)
        {
            Console.WriteLine("What year was the series?");
            string         year     = Console.ReadLine();
            int            y        = Int32.Parse(year);
            string         round    = string.Empty;
            Db             database = new Db(MainClass.conn);
            SQLQueryResult result   = DatabaseChampionshipSeriesLoader.GetSeriesInfo(y, database);

            if (result.DataTable.Rows.Count > 0)
            {
                StringBuilder sb = new StringBuilder("Which round would you like to play:\n");

                foreach (System.Data.DataRow row in result.DataTable.Rows)
                {
                    sb.AppendLine($"*{row["round"].ToString()}");
                }
                Console.WriteLine(sb);
                round = Console.ReadLine();
                Team roadTeam, homeTeam;

                bool playSeries = true;

                y = Int32.Parse(year);
                Tuple <string, string> teamKeys = GetTeamKeysByRound(round, result);

                roadTeam = DatabaseTeamLoader.LoadTeamFromTeamID(teamKeys.Item1, y, database);
                if (roadTeam != null)
                {
                    Console.WriteLine($"Found team '{roadTeam}' in the database.");
                    roadTeam.CapitalizeNames      = true;
                    roadTeam.ShowExtendedToString = false;
                }
                else
                {
                    playSeries = false;
                }
                //homeTeam = DatabaseTeamLoader.LoadTeamByKey(teamKeys.Item2, y, database);
                homeTeam = DatabaseTeamLoader.LoadTeamFromTeamID(teamKeys.Item2, y, database);
                if (homeTeam != null)
                {
                    Console.WriteLine($"Found team '{homeTeam}' in the database.");
                    homeTeam.CapitalizeNames      = true;
                    homeTeam.ShowExtendedToString = false;
                }
                else
                {
                    playSeries = false;
                }
                if (playSeries)
                {
                    Series worldSeries = new Series($"{round} {y}", roadTeam, homeTeam, 7, false, false, true, true);
                    worldSeries.ParentDirectoryPath = System.IO.Path.Combine($"{ConfigurationManager.GetConfigurationValue("GAME_FILE_DIRECTORY")}");
                    worldSeries.Execute();
                }
            }
            else
            {
                Console.WriteLine($"There was no postseason in {year}.");
            }
        }