コード例 #1
0
        private static Dictionary <RaceResult, ComparativePerformanceResult> GetXYResults(List <RaceResult> raceResults, Dictionary <string, double> genderHistorgram)
        {
            var xyResults = new Dictionary <RaceResult, ComparativePerformanceResult>();

            foreach (var raceResult in raceResults)
            {
                var tempsPartiel1 = RaceResult.ParseAsTimeSpan(raceResult.temps_partiel_1);
                var tempsPartiel2 = RaceResult.ParseAsTimeSpan(raceResult.temps_partiel_2);

                if (genderHistorgram.ContainsKey(raceResult.age) &&
                    tempsPartiel1.HasValue &&
                    tempsPartiel2.HasValue)
                {
                    var totalTime = raceResult.GetTotalTimeAsTimeSpan();
                    var ageAverageTimeInMilliseconds = genderHistorgram[raceResult.age];
                    var ageAverageTime = TimeSpan.FromMilliseconds(ageAverageTimeInMilliseconds);

                    var firstHalfVsTotalTimeSpeedRatio = tempsPartiel1.Value.TotalMilliseconds / totalTime.Value.TotalMilliseconds;
                    var ageComparativePerformanceRatio = totalTime.Value.TotalMilliseconds / ageAverageTime.TotalMilliseconds;

                    var xyResult = new ComparativePerformanceResult(ageComparativePerformanceRatio, firstHalfVsTotalTimeSpeedRatio);
                    xyResults.Add(raceResult, xyResult);
                }
            }
            return(xyResults);
        }