public void PopulatePilotList() { if (!Directory.Exists(@"data")) { Directory.CreateDirectory(@"data"); return; } foreach (var pilotName in Directory.GetFiles(@"data", "*.xml").Select(xmlFileName => xmlFileName.Substring(0, xmlFileName.IndexOf('_', 0)).Substring(xmlFileName.IndexOf(@"\") + 1))) { PilotNamesSet.Add(pilotName.ToUpperFirstChar()); } }
private void BuildStatsRegistry() { var errors = new List <string>(); foreach (var pilotName in PilotNamesSet.Where(pilotName => !_pilotScoreObjMap.ContainsKey(pilotName))) { AddPilotStatsToRegistry(pilotName, new PilotStats()); LoadScoreObjects(pilotName); LoadStatsObjects(pilotName); var scoresList = _pilotScoreObjMap[pilotName]; var statsList = _pilotStatsObjMap[pilotName]; foreach (var score in scoresList) { try { ConstructScoresForPilot(score, pilotName); } catch (Exception ex) { errors.Add(ex.Message); } } // For each tour. foreach (var stats in statsList) { try { ConstructStatsForPilot(stats, pilotName); } catch (Exception ex) { errors.Add(ex.Message); } } } if (errors.Count <= 0) { return; } MessageBox.Show( string.Format("Some errors were encountered building pilot data:\n{0}", string.Join("\n", errors)), "Aces High Pilot Stats"); }