private static void CalculateElapsedTime(CompetitorResultSummary competitorCourseSummary) { var ft = competitorCourseSummary.FinishTime.Value; if (ft.Hours == 0) { ft = TimeSpan.FromHours(12); competitorCourseSummary.FinishTime = ft; } competitorCourseSummary.ElapsedTime = competitorCourseSummary.FinishTime - competitorCourseSummary.StartTime; }
private static int CheckForPenalties(CompetitorResultSummary competitorResultSummary) { var course = courseService.Get(competitorResultSummary.CourseId); var courseTimeLimit = course.TimeLimit; var penaltyPointsPerMinute = course.PenaltyPointsPerMinute; double timeSpanMinutes = competitorResultSummary.ElapsedTime.Value.TotalMinutes; var x = (int)Math.Ceiling(timeSpanMinutes); var y = x - Convert.ToInt16(courseTimeLimit); return((y > 0) ? (y * Convert.ToInt16(penaltyPointsPerMinute)) : 0); }
private static void BuildCompetitorSummary() { CompetitorCourseSummaries = new List <CompetitorResultSummary>(); foreach (var competitor in competitorService.GetAll()) { var competitorResultSummary = new CompetitorResultSummary { SI = competitor.SI, CourseId = competitor.CourseId, ClassId = competitorService.Get(competitor.SI).ClassId, Status = (int)Status.DidNotStart, ElapsedTime = TimeSpan.MaxValue }; CompetitorCourseSummaries.Add(competitorResultSummary); } }
private static void CalculateScore(List <CompetitorControl> competitorPunches, CompetitorResultSummary competitorCourseSummary) { competitorCourseSummary.CourseId = competitorService.GetCompetitorCourse(competitorCourseSummary); if ((courseService.IsScoreCourse(competitorCourseSummary.CourseId)) && (competitorCourseSummary.FinishTime != null)) { competitorCourseSummary.Score = CalculateScoreCoursePoints(competitorPunches); competitorCourseSummary.Penalty = CheckForPenalties(competitorCourseSummary); } else { competitorCourseSummary.Status = CheckLineCourse(competitorCourseSummary.CourseId, competitorPunches); } }
private static void GetStatus(CompetitorResultSummary competitorCourseSummary) { competitorCourseSummary.FinishTime = null; competitorCourseSummary.Status = (int)Status.Started; }