private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
InnerHistory.Clear();
int minLapNumber = 0;
int maxLapNumber = 0;
bool collectionsAreEmpty = true;
foreach(var time in S1.Items.Concat(S2.Items).Concat(S3.Items).Concat(Laps.Items))
{
minLapNumber = Math.Min(time.LapNumber, minLapNumber);
maxLapNumber = Math.Max(time.LapNumber, maxLapNumber);
collectionsAreEmpty = false;
}
if(collectionsAreEmpty)
{
return;
}
for(int lapNumber = maxLapNumber; lapNumber >= minLapNumber; --lapNumber)
{
try
{
InnerHistory.Add(new LapHistoryEntry(
S1.Items.Where(x => x.LapNumber == lapNumber).FirstOrDefault(),
S2.Items.Where(x => x.LapNumber == lapNumber).FirstOrDefault(),
S3.Items.Where(x => x.LapNumber == lapNumber).FirstOrDefault(),
Laps.Items.Where(x => x.LapNumber == lapNumber).FirstOrDefault()));
}
catch {}
}
}