Exemplo n.º 1
0
        /// <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("]");
        }