Exemple #1
0
        static void Main(string[] args)
        {
            var original = new Contract("foo", new NestedContract("bar"));
            var updated  = new Contract("baz", new NestedContract("buz"));

            var patch = Diff.DiffToJsonPatch(original, updated);

            Console.WriteLine(JsonConvert.SerializeObject(patch));

            var patched = Diff.PatchWithJsonPatch(patch, original);

            Console.WriteLine(JsonConvert.SerializeObject(original));
            Console.WriteLine(JsonConvert.SerializeObject(patched));

            var patchWithExtra = new JsonPatchDocument()
                                 .Replace("/nested/prop", "bar")
                                 .Replace("/does/not/exist", "buz");

            var settings = new DiffSettings {
                IgnoreErrors = true,
            };

            Console.WriteLine(settings.SerializerSettings.DateParseHandling);
            Console.WriteLine(settings.SerializerSettings.DateTimeZoneHandling);

            // NOTE: this would error with IgnoreErrors set to true (the default)
            var patchedWithExtra = Diff.PatchWithJsonPatch(patchWithExtra, original, settings);

            Console.WriteLine(JsonConvert.SerializeObject(patchedWithExtra));
        }