From c0d0e421c732b7f0c727afe6448de9a28621a9fd Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sun, 8 Nov 2020 23:13:16 +0100 Subject: [PATCH] Profile editor - Fixed layer copy with databindings Shows how thoroughly tested it was :) --- src/Artemis.Core/Models/Profile/Folder.cs | 8 ++++++-- src/Artemis.Core/Models/Profile/Layer.cs | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Artemis.Core/Models/Profile/Folder.cs b/src/Artemis.Core/Models/Profile/Folder.cs index 22184bd38..54635f8c1 100644 --- a/src/Artemis.Core/Models/Profile/Folder.cs +++ b/src/Artemis.Core/Models/Profile/Folder.cs @@ -128,13 +128,17 @@ namespace Artemis.Core } /// - /// Creates a deep copy of the layer + /// Creates a deep copy of the folder /// /// The newly created copy public Folder CreateCopy() { - FolderEntity entityCopy = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(FolderEntity)); + JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; + FolderEntity entityCopy = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(FolderEntity, settings), settings)!; entityCopy.Id = Guid.NewGuid(); + entityCopy.Name += " - Copy"; + + // TODO Children return new Folder(Profile, Parent, entityCopy); } diff --git a/src/Artemis.Core/Models/Profile/Layer.cs b/src/Artemis.Core/Models/Profile/Layer.cs index a0be455f1..9817e320f 100644 --- a/src/Artemis.Core/Models/Profile/Layer.cs +++ b/src/Artemis.Core/Models/Profile/Layer.cs @@ -122,9 +122,10 @@ namespace Artemis.Core /// The newly created copy public Layer CreateCopy() { - LayerEntity entityCopy = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(LayerEntity)); + JsonSerializerSettings settings = new JsonSerializerSettings {TypeNameHandling = TypeNameHandling.All}; + LayerEntity entityCopy = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(LayerEntity, settings), settings)!; entityCopy.Id = Guid.NewGuid(); - entityCopy.Name = entityCopy.Name + " - Copy"; + entityCopy.Name += " - Copy"; Layer copy = new Layer(Profile, Parent, entityCopy); copy.ChangeLayerBrush(LayerBrush.Descriptor);