private static void WriteSpeedCaptures(SessionModel session)
{
WriteLine();
WriteLine("+---------------------------------------------------------------------------------------------------------------+");
WriteLine("| SPEED CAPTURES |");
WriteLine("+---------------------------+---------------------------+---------------------------+---------------------------+");
WriteLine("| S1 | S2 | S3 | TRAP |");
WriteLine("+---------------------------+---------------------------+---------------------------+---------------------------+");
Action<ReadOnlyObservableCollection<SpeedCaptureModel>, int> writeCapture = (captures, i) =>
{
Write("{0,-20}", i < captures.Count ? captures[i].Driver.Name : string.Empty);
Write("{0,7}|", i < captures.Count ? Format.Speed(captures[i].Speed) : string.Empty);
};
var model = session.SpeedCaptures;
for(int i = 0, l = new[] { model.S1.Count, model.S2.Count, model.S3.Count, model.Straight.Count }.Max(); i < l; ++i)
{
Write("|");
writeCapture(session.SpeedCaptures.S1, i);
writeCapture(session.SpeedCaptures.S2, i);
writeCapture(session.SpeedCaptures.S3, i);
writeCapture(session.SpeedCaptures.Straight, i);
WriteLine();
}
WriteLine("+---------------------------+---------------------------+---------------------------+---------------------------+");
}