Exemple #1
0
        protected void SerializeProperties(JsonWriter writer, TTimer value, JsonSerializer serializer)
        {
            var retrievalConfiguration = LgoLeagueTimerRetrievalConfiguration.GetCurrentOrDefault();

            writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.Type)));
            serializer.Serialize(writer, value.Type);

            writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.RemainingTimeInSeconds)));
            serializer.Serialize(writer, value.RemainingTimeInSeconds);

            if (retrievalConfiguration.IncludeGameStartTimeInSeconds)
            {
                writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.GameStartTimeInSeconds)));
                serializer.Serialize(writer, value.GameStartTimeInSeconds);
            }

            if (retrievalConfiguration.IncludeGameEndTimeInSeconds)
            {
                writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.GameEndTimeInSeconds)));
                serializer.Serialize(writer, value.GameEndTimeInSeconds);
            }
        }
 public Builder With(LgoLeagueTimerRetrievalConfiguration configuration)
 {
     _context.AddOrUpdateProperty(LgoLeagueTimerRetrievalConfiguration.RequestExecutionContextPropertyName, _ => configuration, (_, _) => configuration);
     return(this);
 }