Пример #1
0
        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());
            }
        }
Пример #2
0
        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");
        }