public override void WriteJson(JsonWriter writer, LeagueItem?value, JsonSerializer serializer) { if (value == null) { return; } var retrievalConfiguration = LgoLeagueItemRetrievalConfiguration.GetCurrentOrDefault(); writer.WriteStartObject(); writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.Id))); serializer.Serialize(writer, value.Id); if (retrievalConfiguration.IncludeName) { writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.Name))); serializer.Serialize(writer, value.Name); } if (retrievalConfiguration.IncludePrice) { writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.Price))); serializer.Serialize(writer, value.Price); } if (retrievalConfiguration.IncludeImage) { writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.PathToImage))); serializer.Serialize(writer, value.PathToImage); } writer.WriteEndObject(); }
public Builder With(LgoLeagueItemRetrievalConfiguration configuration) { _context.AddOrUpdateProperty(LgoLeagueItemRetrievalConfiguration.RequestExecutionContextPropertyName, _ => configuration, (_, _) => configuration); return(this); }