Exemplo n.º 1
0
        private static PropertyContractResolver InitResolver([NotNull] JsonSerializerSettings settings)
        {
            if (settings is null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            switch (settings.ContractResolver)
            {
            case null:
            {
                PropertyContractResolver resolver = new PropertyContractResolver();
                settings.ContractResolver = resolver;
                return(resolver);
            }

            case PropertyContractResolver resolver:
            {
                return(resolver);
            }

            case DefaultContractResolver other:
            {
                PropertyContractResolver resolver = new PropertyContractResolver(other);
                settings.ContractResolver = resolver;
                return(resolver);
            }

            default:
                throw new NotSupportedException(
                          $"Invalid {nameof(settings.ContractResolver)}. Expected {nameof(DefaultContractResolver)}, received {settings.ContractResolver.GetType().FullName}.");
            }
        }
        private static PropertyContractResolver GetResolver()
        {
            PropertyContractResolver resolver = new PropertyContractResolver();

            resolver.IgnoreProperty(typeof(PreferenceData), nameof(PreferenceData.PreferenceLocation));
            resolver.IgnoreProperty(typeof(ObservableDirtyObject), nameof(PreferenceData.IsDirty));
            return(resolver);
        }
Exemplo n.º 3
0
        private static JsonSerializerSettings GetSettings()
        {
            JsonSerializerSettings   settings = new JsonSerializerSettings();
            PropertyContractResolver resolver = new PropertyContractResolver();

            resolver.IgnoreProperty(typeof(FileObject), nameof(Recipe.Info));
            resolver.IgnoreProperty(typeof(ObservableDirtyObject), nameof(Recipe.IsDirty));
            resolver.SetAllLetterCase(Lettercase.Lowercase);
            resolver.SetNullStringEmpty(true);
            settings.ContractResolver = resolver;
            settings.Converters.Add(new RecipeJsonConverter());
            return(settings);
        }