/// <summary> /// Adds the info about the passed <see cref="ICompetition"/> to the provided <see cref="StringBuilder"/> /// </summary> /// <param name="competition">The <see cref="ICompetition"/> containing data to display</param> /// <param name="builder">The <see cref="StringBuilder"/> to which to add the data</param> private void AddSportEventData(ICompetition competition, StringBuilder builder) { Guard.Argument(competition, nameof(competition)).NotNull(); Guard.Argument(builder, nameof(builder)).NotNull(); AddEntityData(competition, builder); var bookingStatus = _taskProcessor.GetTaskResult(competition.GetBookingStatusAsync()); var venue = _taskProcessor.GetTaskResult(competition.GetVenueAsync()); var competitionStatus = _taskProcessor.GetTaskResult(competition.GetStatusAsync()); var conditions = _taskProcessor.GetTaskResult(competition.GetConditionsAsync()); var competitors = _taskProcessor.GetTaskResult(competition.GetCompetitorsAsync()); var comps = competitors == null ? "null" : string.Join(", ", competitors.Select(s => s.ToString("f"))); builder.Append(" CompetitionStatus=").Append(competitionStatus?.Status) .Append(" BookingStatus=").Append(bookingStatus == null ? "null" : Enum.GetName(typeof(BookingStatus), bookingStatus)) .Append(" Venue=").Append(venue?.Id.ToString() ?? "null") .Append(" Conditions=").Append(conditions?.EventMode) .Append(" Competitors=[").Append(comps).Append("]"); }