diff --git a/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs b/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs index 5b20d621..29ba0bcd 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs @@ -95,7 +95,7 @@ namespace SabreTools.DatFiles.Test DatItem actual = Assert.Single(datFile.GetItemsForBucket("machine")); Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("description", actualMachine.GetName()); Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } @@ -112,7 +112,7 @@ namespace SabreTools.DatFiles.Test datFile.MachineDescriptionToName(); Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value; - Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("description", actualMachine.GetName()); Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } @@ -151,12 +151,12 @@ namespace SabreTools.DatFiles.Test DatItem actualRom = Assert.Single(actualDatItems.FindAll(i => i is Rom)); Machine? actualRomMachine = actualRom.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualRomMachine); - Assert.Equal("machine/rom", actualRomMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine/rom", actualRomMachine.GetName()); DatItem actualDisk = Assert.Single(actualDatItems.FindAll(i => i is Disk)); Machine? actualDiskMachine = actualDisk.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualDiskMachine); - Assert.Equal("machine/disk", actualDiskMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine/disk", actualDiskMachine.GetName()); } [Fact] @@ -188,12 +188,12 @@ namespace SabreTools.DatFiles.Test var actualRom = Assert.Single(actualDatItems, i => i.Value is Rom); var actualRomMachine = datFile.GetMachineForItemDB(actualRom.Key); Assert.NotNull(actualRomMachine.Value); - Assert.Equal("machine/rom", actualRomMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine/rom", actualRomMachine.Value.GetName()); var actualDisk = Assert.Single(actualDatItems, i => i.Value is Disk); var actualDiskMachine = datFile.GetMachineForItemDB(actualDisk.Key); Assert.NotNull(actualDiskMachine.Value); - Assert.Equal("machine/disk", actualDiskMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine/disk", actualDiskMachine.Value.GetName()); } #endregion @@ -231,7 +231,7 @@ namespace SabreTools.DatFiles.Test DatItem actualWorldRom = Assert.Single(actualDatItems); Machine? actualWorldMachine = actualWorldRom.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualWorldMachine); - Assert.Equal("machine (World)", actualWorldMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine (World)", actualWorldMachine.GetName()); } [Fact] @@ -253,7 +253,7 @@ namespace SabreTools.DatFiles.Test var actualWorldMachine = Assert.Single(datFile.GetMachinesDB()); Assert.NotNull(actualWorldMachine.Value); - Assert.Equal("machine (World)", actualWorldMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine (World)", actualWorldMachine.Value.GetName()); } #endregion @@ -281,7 +281,7 @@ namespace SabreTools.DatFiles.Test DatItem actual = Assert.Single(datFile.GetItemsForBucket("10.10.10-machine-name")); Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine-name", actualMachine.GetName()); } [Fact] @@ -296,7 +296,7 @@ namespace SabreTools.DatFiles.Test datFile.StripSceneDatesFromItems(); Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value; - Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machine-name", actualMachine.GetName()); } #endregion diff --git a/SabreTools.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.DatFiles.Test/DatFileTests.FromMetadata.cs index e457d28e..02a909e2 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -1004,7 +1004,7 @@ namespace SabreTools.DatFiles.Test Assert.Equal("language", machine.GetStringFieldValue(Models.Metadata.Machine.LanguageKey)); Assert.Equal("location", machine.GetStringFieldValue(Models.Metadata.Machine.LocationKey)); Assert.Equal("manufacturer", machine.GetStringFieldValue(Models.Metadata.Machine.ManufacturerKey)); - Assert.Equal("name", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("name", machine.GetName()); Assert.Equal("notes", machine.GetStringFieldValue(Models.Metadata.Machine.NotesKey)); Assert.Equal("playedcount", machine.GetStringFieldValue(Models.Metadata.Machine.PlayedCountKey)); Assert.Equal("playedtime", machine.GetStringFieldValue(Models.Metadata.Machine.PlayedTimeKey)); diff --git a/SabreTools.DatFiles.Test/DatFileTests.Splitting.cs b/SabreTools.DatFiles.Test/DatFileTests.Splitting.cs index d2895bff..d747f522 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.Splitting.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.Splitting.cs @@ -15,10 +15,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -60,10 +60,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -105,10 +105,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -153,10 +153,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -205,10 +205,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -250,10 +250,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -306,14 +306,14 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine deviceMachine = new Machine(); - deviceMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "device"); + deviceMachine.SetName("device"); deviceMachine.SetFieldValue(Models.Metadata.Machine.IsDeviceKey, true); Machine slotOptionMachine = new Machine(); - slotOptionMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "slotoption"); + slotOptionMachine.SetName("slotoption"); Machine itemMachine = new Machine(); - itemMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + itemMachine.SetName("machine"); DatItem deviceItem = new Sample(); deviceItem.SetName("device_item"); @@ -365,14 +365,14 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine deviceMachine = new Machine(); - deviceMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "device"); + deviceMachine.SetName("device"); deviceMachine.SetFieldValue(Models.Metadata.Machine.IsDeviceKey, true); Machine slotOptionMachine = new Machine(); - slotOptionMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "slotoption"); + slotOptionMachine.SetName("slotoption"); Machine itemMachine = new Machine(); - itemMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + itemMachine.SetName("machine"); DatItem deviceItem = new Sample(); deviceItem.SetName("device_item"); @@ -418,10 +418,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -463,10 +463,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -515,11 +515,11 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine biosMachine = new Machine(); - biosMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "bios"); + biosMachine.SetName("bios"); biosMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); Machine deviceMachine = new Machine(); - deviceMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "device"); + deviceMachine.SetName("device"); deviceMachine.SetFieldValue(Models.Metadata.Machine.IsDeviceKey, true); DatItem biosItem = new Rom(); @@ -547,11 +547,11 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine biosMachine = new Machine(); - biosMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "bios"); + biosMachine.SetName("bios"); biosMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); Machine deviceMachine = new Machine(); - deviceMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "device"); + deviceMachine.SetName("device"); deviceMachine.SetFieldValue(Models.Metadata.Machine.IsDeviceKey, true); DatItem biosItem = new Rom(); @@ -580,11 +580,11 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); parentMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "romof"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); DatItem parentItem = new Rom(); @@ -620,7 +620,7 @@ namespace SabreTools.DatFiles.Test DatItem actual = Assert.Single(datFile.GetItemsForBucket("child")); Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("child", actualMachine.GetName()); Assert.Equal("romof", actualMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey)); } @@ -630,11 +630,11 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); parentMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "romof"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "parent"); DatItem parentItem = new Rom(); @@ -673,7 +673,7 @@ namespace SabreTools.DatFiles.Test long actual = Assert.Single(datFile.GetItemsForBucketDB("child")).Key; Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value; Assert.NotNull(actualMachine); - Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("child", actualMachine.GetName()); Assert.Equal("romof", actualMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey)); } @@ -687,10 +687,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -727,7 +727,7 @@ namespace SabreTools.DatFiles.Test DatItem actual = Assert.Single(datFile.GetItemsForBucket("child")); Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("child", actualMachine.GetName()); } [Fact] @@ -736,10 +736,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine parentMachine = new Machine(); - parentMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "parent"); + parentMachine.SetName("parent"); Machine childMachine = new Machine(); - childMachine.SetFieldValue(Models.Metadata.Machine.NameKey, "child"); + childMachine.SetName("child"); childMachine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "parent"); childMachine.SetFieldValue(Models.Metadata.Machine.IsBiosKey, true); @@ -779,7 +779,7 @@ namespace SabreTools.DatFiles.Test long actual = Assert.Single(datFile.GetItemsForBucketDB("child")).Key; Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value; Assert.NotNull(actualMachine); - Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("child", actualMachine.GetName()); } #endregion @@ -792,7 +792,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); machine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "XXXXXX"); machine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "XXXXXX"); machine.SetFieldValue(Models.Metadata.Machine.SampleOfKey, "XXXXXX"); @@ -821,7 +821,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); machine.SetFieldValue(Models.Metadata.Machine.CloneOfKey, "XXXXXX"); machine.SetFieldValue(Models.Metadata.Machine.RomOfKey, "XXXXXX"); machine.SetFieldValue(Models.Metadata.Machine.SampleOfKey, "XXXXXX"); diff --git a/SabreTools.DatFiles.Test/DatFileTests.cs b/SabreTools.DatFiles.Test/DatFileTests.cs index 919c05f3..d6980843 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.cs @@ -31,7 +31,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "key"); + machine.SetName("key"); DatItem rom = new Rom(); rom.SetName("rom"); @@ -73,7 +73,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); datItem.SetFieldValue(DatItem.SourceKey, source); @@ -92,7 +92,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); diff --git a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs index 70da1dc2..134cc595 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs @@ -290,7 +290,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -329,7 +329,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); @@ -349,7 +349,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); @@ -369,7 +369,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.RemoveKey, true); @@ -390,7 +390,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.RemoveKey, true); @@ -411,7 +411,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); @@ -527,7 +527,7 @@ namespace SabreTools.DatFiles.Test var actual = dict.GetMachineForItem(itemIndex); Assert.Equal(1, actual.Key); Assert.NotNull(actual.Value); - Assert.Equal("new", actual.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("new", actual.Value.GetName()); } #endregion @@ -540,7 +540,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); datItem.SetName("rom-1"); @@ -568,7 +568,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); datItem.SetName("rom-1"); @@ -617,10 +617,10 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine1 = new Machine(); - machine1.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine1.SetName("game-1"); Machine machine2 = new Machine(); - machine2.SetFieldValue(Models.Metadata.Machine.NameKey, "game-2"); + machine2.SetName("game-2"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -671,7 +671,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -707,7 +707,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -749,7 +749,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -788,7 +788,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetName("rom"); diff --git a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs index be8d8853..e2f4aac1 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs @@ -258,7 +258,7 @@ namespace SabreTools.DatFiles.Test { // Setup the items Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -296,7 +296,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.SourceKey, source); @@ -316,7 +316,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.SourceKey, source); @@ -336,7 +336,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.RemoveKey, true); @@ -357,7 +357,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.RemoveKey, true); @@ -378,7 +378,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetFieldValue(DatItem.SourceKey, source); @@ -400,7 +400,7 @@ namespace SabreTools.DatFiles.Test public void RemoveBucketTest() { Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); datItem.SetName("rom-1"); @@ -426,7 +426,7 @@ namespace SabreTools.DatFiles.Test public void RemoveItemTest() { Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem datItem = new Rom(); datItem.SetName("rom-1"); @@ -457,10 +457,10 @@ namespace SabreTools.DatFiles.Test { // Setup the items Machine machine1 = new Machine(); - machine1.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine1.SetName("game-1"); Machine machine2 = new Machine(); - machine2.SetFieldValue(Models.Metadata.Machine.NameKey, "game-2"); + machine2.SetName("game-2"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -510,7 +510,7 @@ namespace SabreTools.DatFiles.Test { // Setup the items Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -544,7 +544,7 @@ namespace SabreTools.DatFiles.Test { // Setup the items Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -585,7 +585,7 @@ namespace SabreTools.DatFiles.Test { // Setup the items Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + machine.SetName("game-1"); DatItem rom1 = new Rom(); rom1.SetName("rom-1"); @@ -625,7 +625,7 @@ namespace SabreTools.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "machine"); + machine.SetName("machine"); DatItem item = new Rom(); item.SetName("rom"); diff --git a/SabreTools.DatFiles/DatFile.Filtering.cs b/SabreTools.DatFiles/DatFile.Filtering.cs index e99c26e7..e3f7f0e2 100644 --- a/SabreTools.DatFiles/DatFile.Filtering.cs +++ b/SabreTools.DatFiles/DatFile.Filtering.cs @@ -125,7 +125,7 @@ namespace SabreTools.DatFiles continue; // Get the values to check against - string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.GetName(); string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey); if (machineName == null || machineDesc == null) continue; @@ -166,7 +166,7 @@ namespace SabreTools.DatFiles continue; // Get the values to check against - string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.Value.GetName(); string? machineDesc = machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey); if (machineName == null || machineDesc == null) continue; @@ -332,7 +332,7 @@ namespace SabreTools.DatFiles // Get machine information Machine? machine = item.GetFieldValue(DatItem.MachineKey); - string? machineName = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.ToLowerInvariant(); + string? machineName = machine?.GetName()?.ToLowerInvariant(); if (machine == null || machineName == null) continue; @@ -411,7 +411,7 @@ namespace SabreTools.DatFiles // Get machine information Machine? machineObj = machine.Value; - string? machineName = machineObj?.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.ToLowerInvariant(); + string? machineName = machineObj?.GetName()?.ToLowerInvariant(); if (machineObj == null || machineName == null) continue; @@ -535,19 +535,19 @@ namespace SabreTools.DatFiles if (datItem is DatItems.Formats.File || datItem is Rom) { string[] splitname = itemName.Split('.'); - itemName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey) + itemName = machine.GetName() + $"/{string.Join(".", splitname, 0, splitname.Length > 1 ? splitname.Length - 1 : 1)}"; } else { - itemName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $"/{itemName}"; + itemName = machine.GetName() + $"/{itemName}"; } // Strip off "Default" prefix only for ORPG if (itemName.StartsWith("Default")) itemName = itemName.Substring("Default".Length + 1); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, itemName); + machine.SetName(itemName); datItem.SetName(Path.GetFileName(datItem.GetName())); } @@ -615,19 +615,19 @@ namespace SabreTools.DatFiles if (datItem.Value is DatItems.Formats.File || datItem.Value is Rom) { string[] splitname = itemName.Split('.'); - itemName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) + itemName = machine.Value.GetName() + $"/{string.Join(".", splitname, 0, splitname.Length > 1 ? splitname.Length - 1 : 1)}"; } else { - itemName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $"/{itemName}"; + itemName = machine.Value.GetName() + $"/{itemName}"; } // Strip off "Default" prefix only for ORPG if (itemName.StartsWith("Default")) itemName = itemName.Substring("Default".Length + 1); - machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, itemName); + machine.Value.SetName(itemName); datItem.Value.SetName(Path.GetFileName(datItem.Value.GetName())); } @@ -662,11 +662,11 @@ namespace SabreTools.DatFiles continue; // Get the values to check against - string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.GetName(); string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey); if (machineName != null && Regex.IsMatch(machineName, SceneNamePattern)) - item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, Regex.Replace(machineName, SceneNamePattern, "$2")); + item.GetFieldValue(DatItem.MachineKey)!.SetName(Regex.Replace(machineName, SceneNamePattern, "$2")); if (machineDesc != null && Regex.IsMatch(machineDesc, SceneNamePattern)) item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); @@ -702,11 +702,11 @@ namespace SabreTools.DatFiles #endif // Get the values to check against - string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.Value.GetName(); string? machineDesc = machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey); if (machineName != null && Regex.IsMatch(machineName, SceneNamePattern)) - machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, Regex.Replace(machineName, SceneNamePattern, "$2")); + machine.Value.SetName(Regex.Replace(machineName, SceneNamePattern, "$2")); if (machineDesc != null && Regex.IsMatch(machineDesc, SceneNamePattern)) machine.Value.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); @@ -747,14 +747,14 @@ namespace SabreTools.DatFiles continue; // Get the values to check against - string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.GetName(); string? cloneOf = machine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey); string? romOf = machine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey); string? sampleOf = machine.GetStringFieldValue(Models.Metadata.Machine.SampleOfKey); // Update machine name if (machineName != null && mapping.ContainsKey(machineName)) - machine.SetFieldValue(Models.Metadata.Machine.NameKey, mapping[machineName]); + machine.SetName(mapping[machineName]); // Update cloneof if (cloneOf != null && mapping.ContainsKey(cloneOf)) @@ -788,14 +788,14 @@ namespace SabreTools.DatFiles continue; // Get the values to check against - string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.Value.GetName(); string? cloneOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey); string? romOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.RomOfKey); string? sampleOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.SampleOfKey); // Update machine name if (machineName != null && mapping.ContainsKey(machineName)) - machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, mapping[machineName]); + machine.Value.SetName(mapping[machineName]); // Update cloneof if (cloneOf != null && mapping.ContainsKey(cloneOf)) diff --git a/SabreTools.DatFiles/DatFile.FromMetadata.cs b/SabreTools.DatFiles/DatFile.FromMetadata.cs index 21e72c73..611e005b 100644 --- a/SabreTools.DatFiles/DatFile.FromMetadata.cs +++ b/SabreTools.DatFiles/DatFile.FromMetadata.cs @@ -264,7 +264,7 @@ namespace SabreTools.DatFiles if (item.ContainsKey(Models.Metadata.Machine.DumpKey)) { var items = item.ReadItemArray(Models.Metadata.Machine.DumpKey); - string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.GetName(); ProcessItems(items, machine, machineIndex: 0, source, sourceIndex, statsOnly, machineName); } if (item.ContainsKey(Models.Metadata.Machine.FeatureKey)) diff --git a/SabreTools.DatFiles/DatFile.Splitting.cs b/SabreTools.DatFiles/DatFile.Splitting.cs index 39f0164c..a9c5eb95 100644 --- a/SabreTools.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.DatFiles/DatFile.Splitting.cs @@ -263,7 +263,7 @@ namespace SabreTools.DatFiles if (parentItems.Count == 0) { copyFrom = new Rom(); - copyFrom.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, cloneOf); + copyFrom.GetFieldValue(DatItem.MachineKey)!.SetName(cloneOf); copyFrom.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, cloneOf); } else @@ -325,7 +325,7 @@ namespace SabreTools.DatFiles .Contains(rom.GetStringFieldValue(Models.Metadata.Rom.MergeKey))) { if (subfolder) - rom.SetName($"{rom.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{rom.GetName()}"); + rom.SetName($"{rom.GetFieldValue(DatItem.MachineKey)!.GetName()}\\{rom.GetName()}"); rom.CopyMachineInformation(copyFrom); AddItem(rom, statsOnly: false); @@ -335,7 +335,7 @@ namespace SabreTools.DatFiles else if (!GetItemsForBucket(cloneOf).Contains(item) || skipDedup) { if (subfolder) - rom.SetName($"{item.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{rom.GetName()}"); + rom.SetName($"{item.GetFieldValue(DatItem.MachineKey)!.GetName()}\\{rom.GetName()}"); rom.CopyMachineInformation(copyFrom); AddItem(rom, statsOnly: false); @@ -346,7 +346,7 @@ namespace SabreTools.DatFiles else if (!GetItemsForBucket(cloneOf).Contains(item)) { if (subfolder) - item.SetName($"{item.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{item.GetName()}"); + item.SetName($"{item.GetFieldValue(DatItem.MachineKey)!.GetName()}\\{item.GetName()}"); item.CopyMachineInformation(copyFrom); AddItem(item, statsOnly: false); @@ -404,7 +404,7 @@ namespace SabreTools.DatFiles continue; string? machineName = GetMachineForItemDB(item.Key).Value? - .GetStringFieldValue(Models.Metadata.Machine.NameKey); + .GetName(); // Special disk handling if (item.Value is Disk disk) diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 5d9e516c..9d21b1f1 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Xml.Serialization; using Newtonsoft.Json; +using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; using SabreTools.DatItems.Formats; @@ -487,7 +488,7 @@ namespace SabreTools.DatFiles // Get the name to update string? name = (useRomName ? item.GetName() - : machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)) ?? string.Empty; + : machine?.GetName()) ?? string.Empty; // If we're in Depot mode, take care of that instead if (Modifiers.OutputDepot?.IsActive == true) @@ -553,14 +554,14 @@ namespace SabreTools.DatFiles name += Modifiers.AddExtension; if (useRomName && Modifiers.GameName) - name = Path.Combine(machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty, name); + name = Path.Combine(machine?.GetName() ?? string.Empty, name); // Now assign back the formatted name name = $"{pre}{name}{post}"; if (useRomName) item.SetName(name); else - machine?.SetFieldValue(Models.Metadata.Machine.NameKey, name); + machine?.SetName(name); } /// @@ -575,7 +576,7 @@ namespace SabreTools.DatFiles // Initialize strings string? type = item.GetStringFieldValue(Models.Metadata.DatItem.TypeKey); string - game = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty, + game = machine?.GetName() ?? string.Empty, manufacturer = machine?.GetStringFieldValue(Models.Metadata.Machine.ManufacturerKey) ?? string.Empty, publisher = machine?.GetStringFieldValue(Models.Metadata.Machine.PublisherKey) ?? string.Empty, category = machine?.GetStringFieldValue(Models.Metadata.Machine.CategoryKey) ?? string.Empty, @@ -1000,8 +1001,8 @@ namespace SabreTools.DatFiles var nc = new NaturalComparer(); // If machine names don't match - string? xMachineName = x.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = y.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = x.GetFieldValue(DatItem.MachineKey)?.GetName(); + string? yMachineName = y.GetFieldValue(DatItem.MachineKey)?.GetName(); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName); @@ -1055,8 +1056,8 @@ namespace SabreTools.DatFiles // TODO: Fix this since DB uses an external map for machines // If machine names don't match - string? xMachineName = x.Value.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = y.Value.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = x.Value.GetFieldValue(DatItem.MachineKey)?.GetName(); + string? yMachineName = y.Value.GetFieldValue(DatItem.MachineKey)?.GetName(); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName); diff --git a/SabreTools.DatFiles/Formats/Missfile.cs b/SabreTools.DatFiles/Formats/Missfile.cs index ac606c1a..75125ee8 100644 --- a/SabreTools.DatFiles/Formats/Missfile.cs +++ b/SabreTools.DatFiles/Formats/Missfile.cs @@ -82,7 +82,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItem(sw, datItem, lastgame); // Set the new data to compare against - lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetName(); } } @@ -143,7 +143,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItemDB(sw, datItem, lastgame); // Set the new data to compare against - lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = machine.Value!.GetName(); } } @@ -199,8 +199,8 @@ namespace SabreTools.DatFiles.Formats // Romba mode automatically uses item name if (Modifiers.OutputDepot?.IsActive == true || Modifiers.UseRomName) sw.Write($"{datItem.GetName() ?? string.Empty}\n"); - else if (!Modifiers.UseRomName && machine!.GetStringFieldValue(Models.Metadata.Machine.NameKey) != lastgame) - sw.Write($"{machine!.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty}\n"); + else if (!Modifiers.UseRomName && machine!.GetName() != lastgame) + sw.Write($"{machine!.GetName() ?? string.Empty}\n"); sw.Flush(); } diff --git a/SabreTools.DatFiles/Formats/SabreJSON.cs b/SabreTools.DatFiles/Formats/SabreJSON.cs index 53661a31..07fadfe0 100644 --- a/SabreTools.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.DatFiles/Formats/SabreJSON.cs @@ -412,11 +412,11 @@ namespace SabreTools.DatFiles.Formats DatItem datItem = datItems[index]; // If we have a different game and we're not at the start of the list, output the end of last item - if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteEndGame(jtw); // If we have a new game, output the beginning of the new item - if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteStartGame(jtw, datItem); // Check for a "null" item @@ -427,7 +427,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItem(jtw, datItem); // Set the new data to compare against - lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetName(); } } @@ -493,11 +493,11 @@ namespace SabreTools.DatFiles.Formats var machine = GetMachineForItemDB(kvp.Key); // If we have a different game and we're not at the start of the list, output the end of last item - if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteEndGame(jtw); // If we have a new game, output the beginning of the new item - if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteStartGame(jtw, kvp.Value); // Check for a "null" item @@ -508,7 +508,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItemDB(jtw, datItem); // Set the new data to compare against - lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = machine.Value!.GetName(); } } @@ -555,8 +555,8 @@ namespace SabreTools.DatFiles.Formats private static void WriteStartGame(JsonTextWriter jtw, DatItem datItem) { // No game should start with a path separator - if (!string.IsNullOrEmpty(datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey))) - datItem.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)!.TrimStart(Path.DirectorySeparatorChar)); + if (!string.IsNullOrEmpty(datItem.GetFieldValue(DatItem.MachineKey)!.GetName())) + datItem.GetFieldValue(DatItem.MachineKey)!.SetName(datItem.GetFieldValue(DatItem.MachineKey)!.GetName()!.TrimStart(Path.DirectorySeparatorChar)); // Build the state jtw.WriteStartObject(); diff --git a/SabreTools.DatFiles/Formats/SabreXML.cs b/SabreTools.DatFiles/Formats/SabreXML.cs index 8c220c93..432a9817 100644 --- a/SabreTools.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.DatFiles/Formats/SabreXML.cs @@ -240,11 +240,11 @@ namespace SabreTools.DatFiles.Formats DatItem datItem = datItems[index]; // If we have a different game and we're not at the start of the list, output the end of last item - if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteEndGame(xtw); // If we have a new game, output the beginning of the new item - if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteStartGame(xtw, datItem); // Check for a "null" item @@ -255,7 +255,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItem(xtw, datItem); // Set the new data to compare against - lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = datItem.GetFieldValue(DatItem.MachineKey)!.GetName(); } } @@ -322,11 +322,11 @@ namespace SabreTools.DatFiles.Formats var machine = GetMachineForItemDB(kvp.Key); // If we have a different game and we're not at the start of the list, output the end of last item - if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteEndGame(xtw); // If we have a new game, output the beginning of the new item - if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase)) + if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase)) WriteStartGame(xtw, kvp.Value); // Check for a "null" item @@ -337,7 +337,7 @@ namespace SabreTools.DatFiles.Formats WriteDatItemDB(xtw, datItem); // Set the new data to compare against - lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + lastgame = machine.Value!.GetName(); } } @@ -387,7 +387,7 @@ namespace SabreTools.DatFiles.Formats private static void WriteStartGame(XmlTextWriter xtw, DatItem datItem) { // No game should start with a path separator - datItem.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty); + datItem.GetFieldValue(DatItem.MachineKey)!.SetName(datItem.GetFieldValue(DatItem.MachineKey)!.GetName()?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty); // Write the machine xtw.WriteStartElement("directory"); diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index e281d6d3..7291fb34 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -533,8 +533,8 @@ namespace SabreTools.DatFiles } // If the saved machine is a child of the current machine, use the current machine instead - if (savedMachine?.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) - || savedMachine?.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)) + if (savedMachine?.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetName() + || savedMachine?.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine?.GetName()) { savedItem.CopyMachineInformation(datItem); savedItem.SetName(datItem.GetName()); @@ -799,8 +799,8 @@ namespace SabreTools.DatFiles Machine? yMachine = y.GetFieldValue(DatItem.MachineKey); // If machine names don't match - string? xMachineName = xMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = yMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = xMachine?.GetName(); + string? yMachineName = yMachine?.GetName(); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName); diff --git a/SabreTools.DatFiles/ItemDictionaryDB.cs b/SabreTools.DatFiles/ItemDictionaryDB.cs index e5c50bc9..6139a95a 100644 --- a/SabreTools.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.DatFiles/ItemDictionaryDB.cs @@ -407,7 +407,7 @@ namespace SabreTools.DatFiles if (string.IsNullOrEmpty(name)) return new KeyValuePair(-1, null); - var machine = _machines.FirstOrDefault(m => m.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) == name); + var machine = _machines.FirstOrDefault(m => m.Value.GetName() == name); return new KeyValuePair(machine.Key, machine.Value); } @@ -612,7 +612,7 @@ namespace SabreTools.DatFiles if (string.IsNullOrEmpty(machineName)) return false; - var machine = _machines.FirstOrDefault(m => m.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) == machineName); + var machine = _machines.FirstOrDefault(m => m.Value.GetName() == machineName); return RemoveMachine(machine.Key); } @@ -874,8 +874,8 @@ namespace SabreTools.DatFiles } // If the saved machine is a child of the current machine, use the current machine instead - if (savedMachine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey) - || savedMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)) + if (savedMachine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine.GetName() + || savedMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine.GetName()) { _machines[_itemToMachineMapping[savedIndex]] = (itemMachine.Clone() as Machine)!; savedItem.SetName(datItem.GetName()); @@ -1101,8 +1101,8 @@ namespace SabreTools.DatFiles Machine? yMachine = _machines[_itemToMachineMapping[y.Key]]; // If machine names don't match - string? xMachineName = xMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = yMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = xMachine?.GetName(); + string? yMachineName = yMachine?.GetName(); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName); diff --git a/SabreTools.DatItems.Test/DatItemTests.cs b/SabreTools.DatItems.Test/DatItemTests.cs index 5ea20853..a02327b4 100644 --- a/SabreTools.DatItems.Test/DatItemTests.cs +++ b/SabreTools.DatItems.Test/DatItemTests.cs @@ -47,7 +47,7 @@ namespace SabreTools.DatItems.Test public void CopyMachineInformation_NewItem_Overwrite() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); var romA = new Rom(); @@ -57,14 +57,14 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(romB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Null(actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Null(actualMachineA.GetName()); } [Fact] public void CopyMachineInformation_EmptyItem_NoChange() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); var romA = new Rom(); romA.SetFieldValue(DatItem.MachineKey, machineA); @@ -75,14 +75,14 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(romB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Equal("machineA", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machineA", actualMachineA.GetName()); } [Fact] public void CopyMachineInformation_NullMachine_NoChange() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); Machine? machineB = null; @@ -95,14 +95,14 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(romB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Equal("machineA", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machineA", actualMachineA.GetName()); } [Fact] public void CopyMachineInformation_EmptyMachine_Overwrite() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); Machine? machineB = new Machine(); @@ -115,17 +115,17 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(romB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Null(actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Null(actualMachineA.GetName()); } [Fact] public void CopyMachineInformation_FilledMachine_Overwrite() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "machineB"); + machineB.SetName("machineB"); var romA = new Rom(); romA.SetFieldValue(DatItem.MachineKey, machineA); @@ -136,17 +136,17 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(romB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Equal("machineB", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machineB", actualMachineA.GetName()); } [Fact] public void CopyMachineInformation_MismatchedType_Overwrite() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "machineA"); + machineA.SetName("machineA"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "machineB"); + machineB.SetName("machineB"); var romA = new Rom(); romA.SetFieldValue(DatItem.MachineKey, machineA); @@ -157,7 +157,7 @@ namespace SabreTools.DatItems.Test romA.CopyMachineInformation(diskB); var actualMachineA = romA.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachineA); - Assert.Equal("machineB", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("machineB", actualMachineA.GetName()); } #endregion @@ -304,10 +304,10 @@ namespace SabreTools.DatItems.Test public void GetDuplicateStatus_MismatchedHashes_NoDupe() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -329,10 +329,10 @@ namespace SabreTools.DatItems.Test public void GetDuplicateStatus_DifferentSource_NameMatch_ExternalAll() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -354,10 +354,10 @@ namespace SabreTools.DatItems.Test public void GetDuplicateStatus_DifferentSource_NoNameMatch_ExternalHash() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "not-name-same"); + machineB.SetName("not-name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -379,10 +379,10 @@ namespace SabreTools.DatItems.Test public void GetDuplicateStatus_SameSource_NameMatch_InternalAll() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -404,10 +404,10 @@ namespace SabreTools.DatItems.Test public void GetDuplicateStatus_SameSource_NoNameMatch_InternalHash() { Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "not-name-same"); + machineB.SetName("not-name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -461,10 +461,10 @@ namespace SabreTools.DatItems.Test Source? sourceB = new Source(1); Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -487,10 +487,10 @@ namespace SabreTools.DatItems.Test Source? sourceB = new Source(1); Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -513,10 +513,10 @@ namespace SabreTools.DatItems.Test Source? sourceB = new Source(1); Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "not-name-same"); + machineB.SetName("not-name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -539,10 +539,10 @@ namespace SabreTools.DatItems.Test Source? sourceB = new Source(0); Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineB.SetName("name-same"); var romA = new Rom(); romA.SetName("same-name"); @@ -565,10 +565,10 @@ namespace SabreTools.DatItems.Test Source? sourceB = new Source(0); Machine? machineA = new Machine(); - machineA.SetFieldValue(Models.Metadata.Machine.NameKey, "name-same"); + machineA.SetName("name-same"); Machine? machineB = new Machine(); - machineB.SetFieldValue(Models.Metadata.Machine.NameKey, "not-name-same"); + machineB.SetName("not-name-same"); var romA = new Rom(); romA.SetName("same-name"); diff --git a/SabreTools.DatItems.Test/Formats/DiskTests.cs b/SabreTools.DatItems.Test/Formats/DiskTests.cs index 24dc0029..29b6d2c2 100644 --- a/SabreTools.DatItems.Test/Formats/DiskTests.cs +++ b/SabreTools.DatItems.Test/Formats/DiskTests.cs @@ -54,7 +54,7 @@ namespace SabreTools.DatItems.Test.Formats Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("XXXXXX", actualMachine.GetName()); Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); diff --git a/SabreTools.DatItems.Test/Formats/FileTests.cs b/SabreTools.DatItems.Test/Formats/FileTests.cs index 6e2cdac9..52b6b1b1 100644 --- a/SabreTools.DatItems.Test/Formats/FileTests.cs +++ b/SabreTools.DatItems.Test/Formats/FileTests.cs @@ -42,7 +42,7 @@ namespace SabreTools.DatItems.Test.Formats Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("XXXXXX", actualMachine.GetName()); Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); diff --git a/SabreTools.DatItems.Test/Formats/MediaTests.cs b/SabreTools.DatItems.Test/Formats/MediaTests.cs index 42119104..4ac6f3f7 100644 --- a/SabreTools.DatItems.Test/Formats/MediaTests.cs +++ b/SabreTools.DatItems.Test/Formats/MediaTests.cs @@ -38,7 +38,7 @@ namespace SabreTools.DatItems.Test.Formats Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); Assert.NotNull(actualMachine); - Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("XXXXXX", actualMachine.GetName()); Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); diff --git a/SabreTools.DatItems.Test/MachineTests.cs b/SabreTools.DatItems.Test/MachineTests.cs index e49b5f31..6ba61616 100644 --- a/SabreTools.DatItems.Test/MachineTests.cs +++ b/SabreTools.DatItems.Test/MachineTests.cs @@ -15,7 +15,7 @@ namespace SabreTools.DatItems.Test object clone = item.Clone(); Machine? actual = clone as Machine; Assert.NotNull(actual); - Assert.Equal("name", actual.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("name", actual.GetName()); } #endregion diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 45d35c28..cce0925d 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -246,9 +246,9 @@ namespace SabreTools.DatItems // Get the machines for comparison var selfMachine = GetFieldValue(DatItem.MachineKey); - string? selfMachineName = selfMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? selfMachineName = selfMachine?.GetName(); var lastMachine = lastItem.GetFieldValue(DatItem.MachineKey); - string? lastMachineName = lastMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? lastMachineName = lastMachine?.GetName(); // If the duplicate is external already #if NET20 || NET35 @@ -295,9 +295,9 @@ namespace SabreTools.DatItems // TODO: Fix this since machines are determined in a different way // Get the machines for comparison var selfMachine = GetFieldValue(DatItem.MachineKey); - string? selfMachineName = selfMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? selfMachineName = selfMachine?.GetName(); var lastMachine = lastItem.GetFieldValue(DatItem.MachineKey); - string? lastMachineName = lastMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? lastMachineName = lastMachine?.GetName(); // If the duplicate is external already #if NET20 || NET35 @@ -394,7 +394,7 @@ namespace SabreTools.DatItems var machine = GetFieldValue(DatItem.MachineKey); if (machine != null) { - var machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + var machineName = machine.GetName(); if (!string.IsNullOrEmpty(machineName)) machineString = machineName!; } @@ -458,7 +458,7 @@ namespace SabreTools.DatItems string key = string.Empty; string sourceKeyPadded = source?.Index.ToString().PadLeft(10, '0') + '-'; - string machineName = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? "Default"; + string machineName = machine?.GetName() ?? "Default"; // Now determine what the key should be based on the bucketedBy value switch (bucketedBy) diff --git a/SabreTools.DatItems/Machine.cs b/SabreTools.DatItems/Machine.cs index f194290c..54182b42 100644 --- a/SabreTools.DatItems/Machine.cs +++ b/SabreTools.DatItems/Machine.cs @@ -60,6 +60,22 @@ namespace SabreTools.DatItems #endregion + #region Accessors + + /// + /// Gets the name to use for a Machine + /// + /// Name if available, null otherwise + public string? GetName() => _internal.GetName(); + + /// + /// Sets the name to use for a Machine + /// + /// Name to set for the item + public void SetName(string? name) => _internal.SetName(name); + + #endregion + #region Cloning methods /// diff --git a/SabreTools.DatTools.Test/CleaningTests.cs b/SabreTools.DatTools.Test/CleaningTests.cs index e0cc0997..f7490555 100644 --- a/SabreTools.DatTools.Test/CleaningTests.cs +++ b/SabreTools.DatTools.Test/CleaningTests.cs @@ -13,14 +13,14 @@ namespace SabreTools.DatTools.Test datItem.SetName("name"); var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "\"ÁБ\""); + machine.SetName("\"ÁБ\""); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "ä|/Ж"); var cleaner = new Cleaner { Normalize = true }; cleaner.CleanDatItem(datItem, machine); Assert.Equal("name", datItem.GetName()); - Assert.Equal("'AB'", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("'AB'", machine.GetName()); Assert.Equal("ae-Zh", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } @@ -31,14 +31,14 @@ namespace SabreTools.DatTools.Test datItem.SetName("nam诶"); var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "nam诶-2"); + machine.SetName("nam诶-2"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "nam诶-3"); var cleaner = new Cleaner { RemoveUnicode = true }; cleaner.CleanDatItem(datItem, machine); Assert.Equal("nam", datItem.GetName()); - Assert.Equal("nam-2", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("nam-2", machine.GetName()); Assert.Equal("nam-3", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } @@ -49,14 +49,14 @@ namespace SabreTools.DatTools.Test datItem.SetName("name"); var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "name-2"); + machine.SetName("name-2"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "name-3"); var cleaner = new Cleaner { Single = true }; cleaner.CleanDatItem(datItem, machine); Assert.Equal("name", datItem.GetName()); - Assert.Equal("!", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("!", machine.GetName()); Assert.Equal("!", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } @@ -71,7 +71,7 @@ namespace SabreTools.DatTools.Test datItem.SetName("name"); var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "name-2"); + machine.SetName("name-2"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "name-3"); var cleaner = new Cleaner @@ -82,7 +82,7 @@ namespace SabreTools.DatTools.Test cleaner.CleanDatItem(datItem, machine); Assert.Equal(expected, datItem.GetName()); - Assert.Equal("name-2", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("name-2", machine.GetName()); Assert.Equal("name-3", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); } } diff --git a/SabreTools.DatTools.Test/RemoverTests.cs b/SabreTools.DatTools.Test/RemoverTests.cs index 3a8874c5..34ca593d 100644 --- a/SabreTools.DatTools.Test/RemoverTests.cs +++ b/SabreTools.DatTools.Test/RemoverTests.cs @@ -121,14 +121,14 @@ namespace SabreTools.DatTools.Test public void RemoveFields_Machine() { var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "bar"); + machine.SetName("bar"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "bar"); var remover = new Remover(); remover.PopulateExclusions("Machine.Name"); remover.RemoveFields(machine); - Assert.Null(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Null(machine.GetName()); } #endregion diff --git a/SabreTools.DatTools.Test/ReplacerTests.cs b/SabreTools.DatTools.Test/ReplacerTests.cs index 5824dbca..6cddf0d1 100644 --- a/SabreTools.DatTools.Test/ReplacerTests.cs +++ b/SabreTools.DatTools.Test/ReplacerTests.cs @@ -17,18 +17,18 @@ namespace SabreTools.DatTools.Test public void ReplaceFields_Machine() { var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "bar"); + machine.SetName("bar"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "bar"); var repMachine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "foo"); + machine.SetName("foo"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "bar"); List fields = [Models.Metadata.Machine.NameKey]; Replacer.ReplaceFields(machine, repMachine, fields, false); - Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("foo", machine.GetName()); } [Fact] diff --git a/SabreTools.DatTools.Test/SetterTests.cs b/SabreTools.DatTools.Test/SetterTests.cs index e7b7064b..e903fe1e 100644 --- a/SabreTools.DatTools.Test/SetterTests.cs +++ b/SabreTools.DatTools.Test/SetterTests.cs @@ -28,14 +28,14 @@ namespace SabreTools.DatTools.Test public void SetFields_Machine() { var machine = new Machine(); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, "bar"); + machine.SetName("bar"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "bar"); var setter = new Setter(); setter.PopulateSetters(new FilterKey("machine", "name"), "foo"); setter.SetFields(machine); - Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + Assert.Equal("foo", machine.GetName()); } #endregion diff --git a/SabreTools.DatTools/Cleaner.cs b/SabreTools.DatTools/Cleaner.cs index 1d35828c..9ab44050 100644 --- a/SabreTools.DatTools/Cleaner.cs +++ b/SabreTools.DatTools/Cleaner.cs @@ -220,7 +220,7 @@ namespace SabreTools.DatTools internal void CleanDatItem(DatItem datItem, Machine machine) { // Get the fields for processing - string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? machineName = machine.GetName(); string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey); string? datItemName = datItem.GetName(); @@ -259,7 +259,7 @@ namespace SabreTools.DatTools } // Set the fields back, if necessary - machine.SetFieldValue(Models.Metadata.Machine.NameKey, machineName); + machine.SetName(machineName); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, machineDesc); datItem.SetName(datItemName); } diff --git a/SabreTools.DatTools/DatFromDir.cs b/SabreTools.DatTools/DatFromDir.cs index 2a11a9d1..dfe80fe9 100644 --- a/SabreTools.DatTools/DatFromDir.cs +++ b/SabreTools.DatTools/DatFromDir.cs @@ -302,7 +302,7 @@ namespace SabreTools.DatTools #endif { var emptyMachine = new Machine(); - emptyMachine.SetFieldValue(Models.Metadata.Machine.NameKey, item); + emptyMachine.SetName(item); var emptyRom = new Rom(); emptyRom.SetName(Path.Combine(empty, "_")); @@ -376,7 +376,7 @@ namespace SabreTools.DatTools _staticLogger.Verbose($"Adding blank empty folder: {gamename}"); var blankMachine = new Machine(); - blankMachine.SetFieldValue(Models.Metadata.Machine.NameKey, gamename); + blankMachine.SetName(gamename); var blankRom = new Blank(); blankRom.SetName(romname); @@ -510,7 +510,7 @@ namespace SabreTools.DatTools // Update machine information datItem.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, machineName); - datItem.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, machineName); + datItem.GetFieldValue(DatItem.MachineKey)!.SetName(machineName); // If we have a Disk, then the ".chd" extension needs to be removed if (datItem is Disk && itemName!.EndsWith(".chd")) diff --git a/SabreTools.DatTools/DatItemTool.cs b/SabreTools.DatTools/DatItemTool.cs index e104133f..b4b76e1f 100644 --- a/SabreTools.DatTools/DatItemTool.cs +++ b/SabreTools.DatTools/DatItemTool.cs @@ -164,7 +164,7 @@ namespace SabreTools.DatTools string? machineName = null; var machine = disk.GetFieldValue(DatItem.MachineKey); if (machine != null) - machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + machineName = machine.GetName(); return new CHDFile() { @@ -187,7 +187,7 @@ namespace SabreTools.DatTools string? machineName = null; var machine = file.GetFieldValue(DatItem.MachineKey); if (machine != null) - machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + machineName = machine.GetName(); return new BaseFile() { @@ -209,7 +209,7 @@ namespace SabreTools.DatTools string? machineName = null; var machine = media.GetFieldValue(DatItem.MachineKey); if (machine != null) - machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + machineName = machine.GetName(); return new AaruFormat() { @@ -236,7 +236,7 @@ namespace SabreTools.DatTools string? machineName = null; var machine = rom.GetFieldValue(DatItem.MachineKey); if (machine != null) - machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + machineName = machine.GetName(); string? spamSum = rom.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey); return new BaseFile() diff --git a/SabreTools.DatTools/Diffing.cs b/SabreTools.DatTools/Diffing.cs index 995105cf..f83da02e 100644 --- a/SabreTools.DatTools/Diffing.cs +++ b/SabreTools.DatTools/Diffing.cs @@ -488,7 +488,7 @@ namespace SabreTools.DatTools continue; if (item.GetFieldValue(DatItem.SourceKey) != null) - newrom.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, newrom.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $" ({Path.GetFileNameWithoutExtension(inputs[item.GetFieldValue(DatItem.SourceKey)!.Index].CurrentPath)})"); + newrom.GetFieldValue(DatItem.MachineKey)!.SetName(newrom.GetFieldValue(DatItem.MachineKey)!.GetName() + $" ({Path.GetFileNameWithoutExtension(inputs[item.GetFieldValue(DatItem.SourceKey)!.Index].CurrentPath)})"); dupeData.AddItem(newrom, statsOnly: false); } @@ -558,7 +558,7 @@ namespace SabreTools.DatTools // Get the current source and machine var currentSource = sources[sourceIndex]; - string? currentMachineName = machines[machineIndex].GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? currentMachineName = machines[machineIndex].GetName(); var currentMachine = datFile.ItemsDB.GetMachine(currentMachineName); if (currentMachine.Value == null) #if NET40_OR_GREATER || NETCOREAPP @@ -573,7 +573,7 @@ namespace SabreTools.DatTools if (renamedMachine.Value == null) { var newMachine = currentMachine.Value.Clone() as Machine; - newMachine!.SetFieldValue(Models.Metadata.Machine.NameKey, renamedMachineName); + newMachine!.SetName(renamedMachineName); long newMachineIndex = dupeData.AddMachineDB(newMachine!); renamedMachine = new KeyValuePair(newMachineIndex, newMachine); } @@ -887,7 +887,7 @@ namespace SabreTools.DatTools if (item.Clone() is not DatItem newrom || newrom.GetFieldValue(DatItem.SourceKey) == null) continue; - newrom.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, newrom.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $" ({Path.GetFileNameWithoutExtension(inputs[newrom.GetFieldValue(DatItem.SourceKey)!.Index].CurrentPath)})"); + newrom.GetFieldValue(DatItem.MachineKey)!.SetName(newrom.GetFieldValue(DatItem.MachineKey)!.GetName() + $" ({Path.GetFileNameWithoutExtension(inputs[newrom.GetFieldValue(DatItem.SourceKey)!.Index].CurrentPath)})"); outerDiffData.AddItem(newrom, statsOnly: false); } } @@ -956,7 +956,7 @@ namespace SabreTools.DatTools // Get the current source and machine var currentSource = sources[sourceIndex]; - string? currentMachineName = machines[machineIndex].GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? currentMachineName = machines[machineIndex].GetName(); var currentMachine = datFile.ItemsDB.GetMachine(currentMachineName); if (currentMachine.Value == null) #if NET40_OR_GREATER || NETCOREAPP @@ -971,7 +971,7 @@ namespace SabreTools.DatTools if (renamedMachine.Value == null) { var newMachine = currentMachine.Value.Clone() as Machine; - newMachine!.SetFieldValue(Models.Metadata.Machine.NameKey, renamedMachineName); + newMachine!.SetName(renamedMachineName); long newMachineIndex = outerDiffData.AddMachineDB(newMachine); renamedMachine = new KeyValuePair(newMachineIndex, newMachine); } diff --git a/SabreTools.DatTools/MergeSplit.cs b/SabreTools.DatTools/MergeSplit.cs index 023b5793..a0e04945 100644 --- a/SabreTools.DatTools/MergeSplit.cs +++ b/SabreTools.DatTools/MergeSplit.cs @@ -149,11 +149,11 @@ namespace SabreTools.DatTools + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(filename) + Path.DirectorySeparatorChar - + machine.GetStringFieldValue(Models.Metadata.Machine.NameKey); + + machine.GetName(); if (machineName.Length == 0) machineName = "Default"; - machine.SetFieldValue(Models.Metadata.Machine.NameKey, machineName); + machine.SetName(machineName); newItems.Add(newItem); } @@ -222,11 +222,11 @@ namespace SabreTools.DatTools + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(filename) + Path.DirectorySeparatorChar - + machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey); + + machine.Value.GetName(); if (machineName.Length == 0) machineName = "Default"; - machine.Value.SetFieldValue(Models.Metadata.Machine.NameKey, machineName); + machine.Value.SetName(machineName); } #if NET40_OR_GREATER || NETCOREAPP }); diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs index 6581aab9..a59e365a 100644 --- a/SabreTools.DatTools/Rebuilder.cs +++ b/SabreTools.DatTools/Rebuilder.cs @@ -458,11 +458,11 @@ namespace SabreTools.DatTools { // If we don't have a proper machine var machine = item.GetFieldValue(DatItem.MachineKey); - if (machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) == null) + if (machine?.GetName() == null) continue; // If we should check for the items in the machine - var items = datFile.GetItemsForBucket(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + var items = datFile.GetItemsForBucket(machine.GetName()); if (shouldCheck && items!.Count > 1) outputFormat = OutputFormat.Folder; else if (shouldCheck && items!.Count == 1) @@ -576,13 +576,13 @@ namespace SabreTools.DatTools HashType[] hashes = [HashType.CRC32, HashType.MD5, HashType.SHA1]; Rom item = FileTypeTool.GetInfo(stream, hashes).ConvertToRom(); item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Path.GetFileNameWithoutExtension(item.GetName())); - item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, Path.GetFileNameWithoutExtension(item.GetName())); + item.GetFieldValue(DatItem.MachineKey)!.SetName(Path.GetFileNameWithoutExtension(item.GetName())); // If we are coming from an archive, set the correct machine name if (machinename != null) { item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, machinename); - item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, machinename); + item.GetFieldValue(DatItem.MachineKey)!.SetName(machinename); } dupes.Add(item); @@ -637,14 +637,14 @@ namespace SabreTools.DatTools // Create a machine for the current item var machine = new Machine(); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Path.GetFileNameWithoutExtension(item.GetName())); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, Path.GetFileNameWithoutExtension(item.GetName())); + machine.SetName(Path.GetFileNameWithoutExtension(item.GetName())); long machineIndex = datFile.AddMachineDB(machine); // If we are coming from an archive, set the correct machine name if (machinename != null) { machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, machinename); - machine.SetFieldValue(Models.Metadata.Machine.NameKey, machinename); + machine.SetName(machinename); } long index = datFile.AddItemDB(item, machineIndex, -1, false); diff --git a/SabreTools.DatTools/Replacer.cs b/SabreTools.DatTools/Replacer.cs index 5ec1a632..567c6108 100644 --- a/SabreTools.DatTools/Replacer.cs +++ b/SabreTools.DatTools/Replacer.cs @@ -300,7 +300,7 @@ namespace SabreTools.DatTools // Special case for description if (machineFieldNames.Contains(Models.Metadata.Machine.DescriptionKey)) { - if (!onlySame || (onlySame && machine.GetStringFieldValue(Models.Metadata.Machine.NameKey) == machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey))) + if (!onlySame || (onlySame && machine.GetName() == machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey))) machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, repMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)); continue; diff --git a/SabreTools.DatTools/Splitter.cs b/SabreTools.DatTools/Splitter.cs index bec033ab..70b20f81 100644 --- a/SabreTools.DatTools/Splitter.cs +++ b/SabreTools.DatTools/Splitter.cs @@ -526,7 +526,7 @@ namespace SabreTools.DatTools #else continue; #endif - items.ForEach(item => item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.NameKey, Path.GetFileName(item.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)))); + items.ForEach(item => item.GetFieldValue(DatItem.MachineKey)!.SetName(Path.GetFileName(item.GetFieldValue(DatItem.MachineKey)!.GetName()))); items.ForEach(item => item.GetFieldValue(DatItem.MachineKey)!.SetFieldValue(Models.Metadata.Machine.DescriptionKey, Path.GetFileName(item.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)))); // Now add the game to the output DAT