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());
        }
Example #2
0
        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);
        }