private static void WriteBestLapAndSectorTimes(SessionModel session)
{
WriteLine();
WriteLine("+--------------------------------------------------------------------+");
WriteLine("| BEST LAP AND SECTOR TIMES |");
WriteLine("+--------------------+-----------+-------+-------+-------+-----------+");
WriteLine("| DRIVER | BEST | S1 | S2 | S3 | POSS |");
WriteLine("+--------------------+-----------+-------+-------+-------+-----------+");
foreach(var driver in session.Drivers.OrderBy(x => x.LapTimes.Laps.Minimum))
{
var times = driver.LapTimes;
Write("|{0,-20}|", driver.Name);
Write("{0,11}|", Format.LapTime(times.Laps.Minimum));
Write("{0,7}|", Format.SectorTime(times.S1.Minimum));
Write("{0,7}|", Format.SectorTime(times.S2.Minimum));
Write("{0,7}|", Format.SectorTime(times.S3.Minimum));
TimeSpan? possible = null;
if(times.S1.Minimum != null && times.S2.Minimum != null && times.S3.Minimum != null)
{
possible = times.S1.Minimum.Time + times.S2.Minimum.Time + times.S3.Minimum.Time;
}
Write("{0,11}|", Format.LapTime(possible));
WriteLine();
}
WriteLine("+--------------------------------------------------------------------+");
}