public void LoadAllRecords() { if (!Directory.Exists(RecordsRoot)) { return; } DirectoryInfo root = new DirectoryInfo(RecordsRoot); List <DirectoryInfo> teamInfos = root.EnumerateDirectories().ToList(); teamInfos.RemoveAll((di) => !di.Name.IsInteger()); AllRecords.Clear(); foreach (DirectoryInfo di in teamInfos) { List <RecordLite> recordSet = new List <RecordLite>(); List <FileInfo> recordFiles = di.EnumerateFiles().ToList(); foreach (FileInfo fi in recordFiles) { RecordLite rec = ScoutingJson.ParseLiteRecord(fi.FullName); if (Event != null && Teams != null) { rec.PostJsonLoading(Event); } recordSet.Add(rec); } AllRecords.Add(recordSet); } if (!hasCrunched) { DoCrunching(); } }