public override string ToString() { var textBuilder = new StringBuilder(); textBuilder.Append(Competitor); if (IsEliminated) { textBuilder.Append(" has been eliminated"); } else if (Timings?.FinishTime != null) { textBuilder.Append(" finished at "); TimeSpanWithAccuracy finishTime = Timings.FinishTime.ElapsedSince(Timings.StartTime); textBuilder.Append(finishTime); if (FaultCount > 0) { textBuilder.Append(" with "); textBuilder.Append(FaultCount); textBuilder.Append(" faults"); } if (RefusalCount > 0) { textBuilder.Append(FaultCount > 0 ? " and " : " with "); textBuilder.Append(RefusalCount); textBuilder.Append(" refusals"); } } return(textBuilder.ToString()); }
private static RecordedTime?GetTimeElapsedSinceStart(IDelimitedValuesReaderRow row, string columnName, RecordedTime startTime) { string timeString = row.GetCell(columnName); TimeSpanWithAccuracy?timeWithAccuracy = TimeSpanWithAccuracy.FromString(timeString, Settings.Default.ImportExportCulture); return(timeWithAccuracy != null?startTime.Add(timeWithAccuracy.Value) : null); }
private void SetScreenValueForFinishTime(CompetitionRunResult?runResult) { string text = string.Empty; if (runResult?.Timings?.FinishTime != null) { TimeSpanWithAccuracy finishTime = runResult.Timings.FinishTime.ElapsedSince(runResult.Timings.StartTime); text = finishTime.ToString(); } finishTimeTextBox.Text = text; }
private CompetitionRunTimings ConvertFinishTimeFromScreen(bool forceUserEdited) { TimeSpanWithAccuracy?finishTime = TimeSpanWithAccuracy.FromString(finishTimeTextBox.Text); if (finishTime != null && forceUserEdited) { finishTime = finishTime.Value.ChangeAccuracy(TimeAccuracy.UserEdited); } Assertions.IsNotNull(originalRunVersion, nameof(originalRunVersion)); return(originalRunVersion.UpdateFinishTimeFrom(finishTime)); }
private string GetErrorForFinishTimeOnScreen() { try { TimeSpanWithAccuracy.FromString(finishTimeTextBox.Text); } catch (FormatException ex) { return(ex.Message); } return(string.Empty); }
private static bool RecordedTimesElapsedEqual(RecordedTime firstRecordedTime, RecordedTime secondRecordedTime) { TimeSpanWithAccuracy elapsed = firstRecordedTime.ElapsedSince(secondRecordedTime); return(elapsed.TimeValue == TimeSpan.Zero); }