AK.F1.Timing.Model.Session.SessionModelPrinter.WriteSessionStatistics C# (CSharp) Метод

WriteSessionStatistics() приватный статический Метод

private static WriteSessionStatistics ( SessionModel session ) : void
session SessionModel
Результат void
        private static void WriteSessionStatistics(SessionModel session)
        {
            WriteLine();
            WriteLine("+---------------------------------------+");
            WriteLine("|          SESSION STATISTICS           |");
            WriteLine("+------------------+--------------------+");
            WriteLine("|Session Type      |{0,20}|", session.SessionType);
            WriteLine("|Session Status    |{0,20}|", session.SessionStatus);
            WriteLine("|Session Time      |{0,20}|", session.ElapsedSessionTime);
            WriteLine("|Rem Session Time  |{0,20}|", session.RemainingSessionTime);
            WriteLine("|Session Laps      |{0,20}|", session.RaceLapNumber);
            WriteLine("|Drivers           |{0,20}|", session.Drivers.Count);
            WriteLine("+------------------+--------------------+");

            WriteLine("+--------------------------------------------------------------------+");
            WriteLine("|                       BEST LAP AND SECTOR TIMES                    |");
            WriteLine("+--------------------+-----------+-------+-------+-------+-----------+");
            WriteLine("| DRIVER             |      BEST |    S1 |    S2 |    S3 |      POSS |");
            WriteLine("+--------------------+-----------+-------+-------+-------+-----------+");
            foreach(DriverModel driver in session.Drivers) {
                TimeSpan sector;
                TimeSpan possible = TimeSpan.Zero;
                Write("|{0,-20}|", driver.Name);
                Write("{0,11}|", Format.LapTime(driver.LapTimes.Minimum));
                foreach(var times in driver.SectorTimes) {
                    // TODO !!!!!
                    possible += sector = times.Minimum != null ? times.Minimum.Value : TimeSpan.Zero;
                    Write("{0,7}|", Format.SectorTime(sector));
                }
                WriteLine("{0,11}|", "~" + Format.LapTime(possible));
            }
            WriteLine("+--------------------------------------------------------------------+");

            WriteLine();
            WriteLine("+---------------------------------------------+");
            WriteLine("|   TOTAL SECTOR / LAP TIME / PIT COUNTS      |");
            WriteLine("+--------------------+----+----+----+----+----+");
            WriteLine("| DRIVER             | S1 | S2 | S3 |  L |  P |");
            WriteLine("+--------------------+----+----+----+----+----+");
            foreach(DriverModel driver in session.Drivers) {
                Write("|{0,-20}|", driver.Name);
                foreach(var times in driver.SectorTimes) {
                    Write("{0,4}|", times.Values.Count);
                }
                Write("{0,4}|", driver.LapTimes.Values.Count);
                WriteLine("{0,4}|", driver.PitCount);
            }
            WriteLine("+--------------------+----+----+----+----+----+");
        }