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); }