예제 #1
0
        public override void WriteJson(JsonWriter writer, LeagueChampion?value, JsonSerializer serializer)
        {
            if (value == null)
            {
                return;
            }

            var retrievalConfiguration = LgoLeagueChampionRetrievalConfiguration.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.IncludeTileImage)
            {
                writer.WritePropertyName(JsonSerializationHelper.GetPropertyName(value.GetType(), nameof(value.PathToTileImage)));
                serializer.Serialize(writer, value.PathToTileImage);
            }

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

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

            writer.WriteEndObject();
        }
 public Builder With(LgoLeagueChampionRetrievalConfiguration configuration)
 {
     _context.AddOrUpdateProperty(LgoLeagueChampionRetrievalConfiguration.RequestExecutionContextPropertyName, _ => configuration, (_, _) => configuration);
     return(this);
 }