diff --git a/RombaSharp/Features/BaseFeature.cs b/RombaSharp/Features/BaseFeature.cs index af6c6a7f..0e9184fc 100644 --- a/RombaSharp/Features/BaseFeature.cs +++ b/RombaSharp/Features/BaseFeature.cs @@ -785,10 +785,10 @@ CREATE TABLE IF NOT EXISTS dat ( internal void AddDatToDatabase(Rom dat, SqliteConnection dbc) { // Get the dat full path - string fullpath = Path.Combine(_dats!, (dat.Machine.Name == "dats" ? string.Empty : dat.Machine.Name)!, dat.Name!); + string fullpath = Path.Combine(_dats!, (dat.Machine.Name == "dats" ? string.Empty : dat.Machine.Name)!, dat.GetName()!); // Parse the Dat if possible - logger.User($"Adding from '{dat.Name}'"); + logger.User($"Adding from '{dat.GetName()}'"); DatFile tempdat = Parser.CreateAndParse(fullpath); // If the Dat wasn't empty, add the information diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 2fd323a2..78050693 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -225,7 +225,7 @@ namespace SabreTools.DatFiles && string.IsNullOrEmpty(disk.MD5) && string.IsNullOrEmpty(disk.SHA1)) { - logger.Verbose($"Incomplete entry for '{disk.Name}' will be output as nodump"); + logger.Verbose($"Incomplete entry for '{disk.GetName()}' will be output as nodump"); disk.ItemStatus = ItemStatus.Nodump; } @@ -239,7 +239,7 @@ namespace SabreTools.DatFiles && string.IsNullOrEmpty(media.SHA256) && string.IsNullOrEmpty(media.SpamSum)) { - logger.Verbose($"Incomplete entry for '{media.Name}' will be output as nodump"); + logger.Verbose($"Incomplete entry for '{media.GetName()}' will be output as nodump"); } item = media; @@ -250,7 +250,7 @@ namespace SabreTools.DatFiles if (rom.Size == null && !rom.HasHashes()) { // No-op, just catch it so it doesn't go further - logger.Verbose($"{Header.FileName}: Entry with only SHA-1 found - '{rom.Name}'"); + logger.Verbose($"{Header.FileName}: Entry with only SHA-1 found - '{rom.GetName()}'"); } // If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info @@ -271,7 +271,7 @@ namespace SabreTools.DatFiles // If the file has no size and it's not the above case, skip and log else if (rom.ItemStatus != ItemStatus.Nodump && (rom.Size == 0 || rom.Size == null)) { - logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.Name}' will be output as nodump"); + logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); rom.ItemStatus = ItemStatus.Nodump; } @@ -280,7 +280,7 @@ namespace SabreTools.DatFiles && rom.Size != null && rom.Size > 0 && !rom.HasHashes()) { - logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.Name}' will be output as nodump"); + logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); rom.ItemStatus = ItemStatus.Nodump; } @@ -541,7 +541,7 @@ namespace SabreTools.DatFiles { logger.Verbose($"Empty folder found: {datItem.Machine.Name}"); - rom.Name = (rom.Name == "null" ? "-" : rom.Name); + rom.SetName(rom.GetName() == "null" ? "-" : rom.GetName()); rom.Size = Constants.SizeZero; rom.CRC = rom.CRC == "null" ? Constants.CRCZero : null; rom.MD5 = rom.MD5 == "null" ? Constants.MD5Zero : null; diff --git a/SabreTools.DatFiles/Formats/ArchiveDotOrg.Reader.cs b/SabreTools.DatFiles/Formats/ArchiveDotOrg.Reader.cs index 272261b5..42022f69 100644 --- a/SabreTools.DatFiles/Formats/ArchiveDotOrg.Reader.cs +++ b/SabreTools.DatFiles/Formats/ArchiveDotOrg.Reader.cs @@ -103,7 +103,6 @@ namespace SabreTools.DatFiles.Formats var rom = new Rom() { - Name = name, ArchiveDotOrgSource = file.Source, //BitTorrentMagnetHash = file.BitTorrentMagnetHash, // TODO: Add to internal model Date = file.LastModifiedTime?.ToString(), @@ -176,6 +175,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(name); // Now process and add the rom rom.CopyMachineInformation(machine); diff --git a/SabreTools.DatFiles/Formats/ArchiveDotOrg.Writer.cs b/SabreTools.DatFiles/Formats/ArchiveDotOrg.Writer.cs index e3a25196..5b8e9fd2 100644 --- a/SabreTools.DatFiles/Formats/ArchiveDotOrg.Writer.cs +++ b/SabreTools.DatFiles/Formats/ArchiveDotOrg.Writer.cs @@ -125,7 +125,7 @@ namespace SabreTools.DatFiles.Formats { var file = new Models.ArchiveDotOrg.File { - Name = item.Name, + Name = item.GetName(), Source = item.ArchiveDotOrgSource, //BitTorrentMagnetHash = item.BitTorrentMagnetHash, // TODO: Add to internal model Size = item.Size?.ToString(), diff --git a/SabreTools.DatFiles/Formats/AttractMode.Reader.cs b/SabreTools.DatFiles/Formats/AttractMode.Reader.cs index 89b01c1d..613543b9 100644 --- a/SabreTools.DatFiles/Formats/AttractMode.Reader.cs +++ b/SabreTools.DatFiles/Formats/AttractMode.Reader.cs @@ -67,7 +67,6 @@ namespace SabreTools.DatFiles.Formats var rom = new Rom() { - Name = "-", Size = Constants.SizeZero, CRC = Constants.CRCZero, MD5 = Constants.MD5Zero, @@ -102,6 +101,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName("-"); // Now process and add the rom ParseAddHelper(rom, statsOnly); diff --git a/SabreTools.DatFiles/Formats/ClrMamePro.Reader.cs b/SabreTools.DatFiles/Formats/ClrMamePro.Reader.cs index 178b1436..0259cc20 100644 --- a/SabreTools.DatFiles/Formats/ClrMamePro.Reader.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.Reader.cs @@ -172,7 +172,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Release { - Name = release.Name, Region = release.Region, Language = release.Language, Date = release.Date, @@ -184,6 +183,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(release.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -210,7 +210,6 @@ namespace SabreTools.DatFiles.Formats { var item = new BiosSet { - Name = biosset.Name, Description = biosset.Description, Default = biosset.Default?.AsYesNo(), @@ -220,6 +219,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(biosset.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -246,7 +246,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.Name, Size = NumberHelper.ConvertToInt64(rom.Size), CRC = rom.CRC, MD5 = rom.MD5, @@ -274,6 +273,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -300,7 +300,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Disk { - Name = disk.Name, MD5 = disk.MD5, SHA1 = disk.SHA1, MergeTag = disk.Merge, @@ -313,6 +312,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(disk.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -339,7 +339,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Media { - Name = medium.Name, MD5 = medium.MD5, SHA1 = medium.SHA1, SHA256 = medium.SHA256, @@ -351,6 +350,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(medium.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -377,14 +377,13 @@ namespace SabreTools.DatFiles.Formats { var item = new Archive { - Name = archive.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(archive.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -412,7 +411,6 @@ namespace SabreTools.DatFiles.Formats var item = new Chip { ChipType = chip.Type?.AsEnumValue() ?? ChipType.NULL, - Name = chip.Name, //Flags = chip.Flags, // TODO: Add to internal model Clock = NumberHelper.ConvertToInt64(chip.Clock), @@ -422,6 +420,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(chip.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -570,7 +569,6 @@ namespace SabreTools.DatFiles.Formats { var item = new DipSwitch { - Name = dipswitch.Name, Values = [], Source = new Source @@ -579,15 +577,17 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(dipswitch.Name); foreach (string entry in dipswitch.Entry ?? []) { var dipValue = new DipValue { - Name = dipswitch.Name, Value = entry, Default = entry == dipswitch.Default, }; + dipValue.SetName(dipswitch.Name); + item.Values.Add(dipValue); } diff --git a/SabreTools.DatFiles/Formats/ClrMamePro.Writer.cs b/SabreTools.DatFiles/Formats/ClrMamePro.Writer.cs index a02ddac5..6ec2f587 100644 --- a/SabreTools.DatFiles/Formats/ClrMamePro.Writer.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.Writer.cs @@ -41,21 +41,21 @@ namespace SabreTools.DatFiles.Formats switch (datItem) { case Release release: - if (string.IsNullOrEmpty(release.Name)) + if (string.IsNullOrEmpty(release.GetName())) missingFields.Add(Models.Metadata.Release.NameKey); if (string.IsNullOrEmpty(release.Region)) missingFields.Add(Models.Metadata.Release.RegionKey); break; case BiosSet biosset: - if (string.IsNullOrEmpty(biosset.Name)) + if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Models.Metadata.BiosSet.NameKey); if (string.IsNullOrEmpty(biosset.Description)) missingFields.Add(Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: - if (string.IsNullOrEmpty(rom.Name)) + if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Models.Metadata.Rom.NameKey); if (rom.Size == null || rom.Size < 0) missingFields.Add(Models.Metadata.Rom.SizeKey); @@ -72,7 +72,7 @@ namespace SabreTools.DatFiles.Formats break; case Disk disk: - if (string.IsNullOrEmpty(disk.Name)) + if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Models.Metadata.Disk.NameKey); if (string.IsNullOrEmpty(disk.MD5) && string.IsNullOrEmpty(disk.SHA1)) @@ -82,19 +82,19 @@ namespace SabreTools.DatFiles.Formats break; case Sample sample: - if (string.IsNullOrEmpty(sample.Name)) + if (string.IsNullOrEmpty(sample.GetName())) missingFields.Add(Models.Metadata.Sample.NameKey); break; case Archive archive: - if (string.IsNullOrEmpty(archive.Name)) + if (string.IsNullOrEmpty(archive.GetName())) missingFields.Add(Models.Metadata.Archive.NameKey); break; case Chip chip: if (!chip.ChipTypeSpecified) missingFields.Add(Models.Metadata.Chip.ChipTypeKey); - if (string.IsNullOrEmpty(chip.Name)) + if (string.IsNullOrEmpty(chip.GetName())) missingFields.Add(Models.Metadata.Chip.NameKey); break; @@ -118,7 +118,7 @@ namespace SabreTools.DatFiles.Formats break; case DipSwitch dipswitch: - if (string.IsNullOrEmpty(dipswitch.Name)) + if (string.IsNullOrEmpty(dipswitch.GetName())) missingFields.Add(Models.Metadata.DipSwitch.NameKey); break; @@ -337,7 +337,7 @@ namespace SabreTools.DatFiles.Formats { var release = new Models.ClrMamePro.Release { - Name = item.Name, + Name = item.GetName(), Region = item.Region, Language = item.Language, Date = item.Date, @@ -356,7 +356,7 @@ namespace SabreTools.DatFiles.Formats { var biosset = new Models.ClrMamePro.BiosSet { - Name = item.Name, + Name = item.GetName(), Description = item.Description, }; @@ -373,7 +373,7 @@ namespace SabreTools.DatFiles.Formats { var rom = new Models.ClrMamePro.Rom { - Name = item.Name, + Name = item.GetName(), Size = item.Size?.ToString(), CRC = item.CRC, MD5 = item.MD5, @@ -410,7 +410,7 @@ namespace SabreTools.DatFiles.Formats { var disk = new Models.ClrMamePro.Disk { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, Merge = item.MergeTag, @@ -430,7 +430,7 @@ namespace SabreTools.DatFiles.Formats { var media = new Models.ClrMamePro.Media { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, SHA256 = item.SHA256, @@ -446,7 +446,7 @@ namespace SabreTools.DatFiles.Formats { var sample = new Models.ClrMamePro.Sample { - Name = item.Name, + Name = item.GetName(), }; return sample; } @@ -458,7 +458,7 @@ namespace SabreTools.DatFiles.Formats { var archive = new Models.ClrMamePro.Archive { - Name = item.Name, + Name = item.GetName(), }; return archive; } @@ -471,7 +471,7 @@ namespace SabreTools.DatFiles.Formats var chip = new Models.ClrMamePro.Chip { Type = item.ChipType.AsStringValue(), - Name = item.Name, + Name = item.GetName(), //Flags = item.Flags, // TODO: Add to internal model Clock = item.Clock?.ToString(), }; @@ -547,7 +547,7 @@ namespace SabreTools.DatFiles.Formats { var dipswitch = new Models.ClrMamePro.DipSwitch { - Name = item.Name, + Name = item.GetName(), }; if (item.ValuesSpecified) diff --git a/SabreTools.DatFiles/Formats/DosCenter.Reader.cs b/SabreTools.DatFiles/Formats/DosCenter.Reader.cs index 55e1058f..aaa71ac3 100644 --- a/SabreTools.DatFiles/Formats/DosCenter.Reader.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.Reader.cs @@ -141,7 +141,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.Name, Size = NumberHelper.ConvertToInt64(rom.Size), CRC = rom.CRC, Date = rom.Date, @@ -152,6 +151,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); diff --git a/SabreTools.DatFiles/Formats/DosCenter.Writer.cs b/SabreTools.DatFiles/Formats/DosCenter.Writer.cs index 4ffae55e..b4f4af79 100644 --- a/SabreTools.DatFiles/Formats/DosCenter.Writer.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.Writer.cs @@ -178,7 +178,7 @@ namespace SabreTools.DatFiles.Formats { var rom = new Models.DosCenter.File { - Name = item.Name, + Name = item.GetName(), Size = item.Size?.ToString(), CRC = item.CRC, Date = item.Date, diff --git a/SabreTools.DatFiles/Formats/EverdriveSMDB.Reader.cs b/SabreTools.DatFiles/Formats/EverdriveSMDB.Reader.cs index bec359d9..78855bdf 100644 --- a/SabreTools.DatFiles/Formats/EverdriveSMDB.Reader.cs +++ b/SabreTools.DatFiles/Formats/EverdriveSMDB.Reader.cs @@ -100,7 +100,6 @@ namespace SabreTools.DatFiles.Formats var rom = new Rom() { - Name = name, Size = NumberHelper.ConvertToInt64(row.Size), CRC = row.CRC32, MD5 = row.MD5, @@ -114,6 +113,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(name); // Now process and add the rom rom.CopyMachineInformation(machine); diff --git a/SabreTools.DatFiles/Formats/EverdriveSMDB.Writer.cs b/SabreTools.DatFiles/Formats/EverdriveSMDB.Writer.cs index b540671d..08f1345e 100644 --- a/SabreTools.DatFiles/Formats/EverdriveSMDB.Writer.cs +++ b/SabreTools.DatFiles/Formats/EverdriveSMDB.Writer.cs @@ -139,7 +139,7 @@ namespace SabreTools.DatFiles.Formats var row = new Models.EverdriveSMDB.Row { SHA256 = rom.SHA256, - Name = $"{rom.Machine.Name ?? string.Empty}/{rom.Name}", + Name = $"{rom.Machine.Name ?? string.Empty}/{rom.GetName()}", SHA1 = rom.SHA1, MD5 = rom.MD5, CRC32 = rom.CRC, diff --git a/SabreTools.DatFiles/Formats/Hashfile.Reader.cs b/SabreTools.DatFiles/Formats/Hashfile.Reader.cs index 9eeec3c7..332848b5 100644 --- a/SabreTools.DatFiles/Formats/Hashfile.Reader.cs +++ b/SabreTools.DatFiles/Formats/Hashfile.Reader.cs @@ -146,7 +146,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, CRC = sfv.Hash, @@ -156,6 +155,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -198,7 +198,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Disk: var disk = new Disk { - Name = itemName, MD5 = md5.Hash, Source = new Source @@ -207,6 +206,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + disk.SetName(itemName); disk.CopyMachineInformation(machine); ParseAddHelper(disk, statsOnly); @@ -215,7 +215,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Media: var media = new Media { - Name = itemName, MD5 = md5.Hash, Source = new Source @@ -224,6 +223,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + media.SetName(itemName); media.CopyMachineInformation(machine); ParseAddHelper(media, statsOnly); @@ -232,7 +232,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, MD5 = md5.Hash, @@ -242,6 +241,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -284,7 +284,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Disk: var disk = new Disk { - Name = itemName, SHA1 = sha1.Hash, Source = new Source @@ -293,6 +292,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + disk.SetName(itemName); disk.CopyMachineInformation(machine); ParseAddHelper(disk, statsOnly); @@ -301,7 +301,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Media: var media = new Media { - Name = itemName, SHA1 = sha1.Hash, Source = new Source @@ -310,6 +309,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + media.SetName(itemName); media.CopyMachineInformation(machine); ParseAddHelper(media, statsOnly); @@ -318,7 +318,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, SHA1 = sha1.Hash, @@ -328,6 +327,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -370,7 +370,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Media: var media = new Media { - Name = itemName, SHA256 = sha256.Hash, Source = new Source @@ -379,6 +378,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + media.SetName(itemName); media.CopyMachineInformation(machine); ParseAddHelper(media, statsOnly); @@ -388,7 +388,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, SHA256 = sha256.Hash, @@ -398,6 +397,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -442,7 +442,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, SHA384 = sha384.Hash, @@ -452,6 +451,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -496,7 +496,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, SHA512 = sha512.Hash, @@ -506,6 +505,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); @@ -548,7 +548,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Media: var media = new Media { - Name = itemName, SpamSum = spamsum.Hash, Source = new Source @@ -557,6 +556,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + media.SetName(itemName); media.CopyMachineInformation(machine); ParseAddHelper(media, statsOnly); @@ -566,7 +566,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Rom: var rom = new Rom { - Name = itemName, Size = null, SpamSum = spamsum.Hash, @@ -576,6 +575,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(itemName); rom.CopyMachineInformation(machine); ParseAddHelper(rom, statsOnly); diff --git a/SabreTools.DatFiles/Formats/Hashfile.Writer.cs b/SabreTools.DatFiles/Formats/Hashfile.Writer.cs index 16159087..eed444f8 100644 --- a/SabreTools.DatFiles/Formats/Hashfile.Writer.cs +++ b/SabreTools.DatFiles/Formats/Hashfile.Writer.cs @@ -251,7 +251,7 @@ namespace SabreTools.DatFiles.Formats case Rom rom: sfvs.Add(new Models.Hashfile.SFV { - File = name + rom.Name, + File = name + rom.GetName(), Hash = rom.CRC, }); break; @@ -303,7 +303,7 @@ namespace SabreTools.DatFiles.Formats md5s.Add(new Models.Hashfile.MD5 { Hash = disk.MD5, - File = name + disk.Name, + File = name + disk.GetName(), }); break; @@ -311,7 +311,7 @@ namespace SabreTools.DatFiles.Formats md5s.Add(new Models.Hashfile.MD5 { Hash = media.MD5, - File = name + media.Name, + File = name + media.GetName(), }); break; @@ -319,7 +319,7 @@ namespace SabreTools.DatFiles.Formats md5s.Add(new Models.Hashfile.MD5 { Hash = rom.MD5, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } @@ -370,7 +370,7 @@ namespace SabreTools.DatFiles.Formats sha1s.Add(new Models.Hashfile.SHA1 { Hash = disk.SHA1, - File = name + disk.Name, + File = name + disk.GetName(), }); break; @@ -378,7 +378,7 @@ namespace SabreTools.DatFiles.Formats sha1s.Add(new Models.Hashfile.SHA1 { Hash = media.SHA1, - File = name + media.Name, + File = name + media.GetName(), }); break; @@ -386,7 +386,7 @@ namespace SabreTools.DatFiles.Formats sha1s.Add(new Models.Hashfile.SHA1 { Hash = rom.SHA1, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } @@ -437,7 +437,7 @@ namespace SabreTools.DatFiles.Formats sha256s.Add(new Models.Hashfile.SHA256 { Hash = media.SHA256, - File = name + media.Name, + File = name + media.GetName(), }); break; @@ -445,7 +445,7 @@ namespace SabreTools.DatFiles.Formats sha256s.Add(new Models.Hashfile.SHA256 { Hash = rom.SHA256, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } @@ -496,7 +496,7 @@ namespace SabreTools.DatFiles.Formats sha384s.Add(new Models.Hashfile.SHA384 { Hash = rom.SHA384, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } @@ -547,7 +547,7 @@ namespace SabreTools.DatFiles.Formats sha512s.Add(new Models.Hashfile.SHA512 { Hash = rom.SHA512, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } @@ -598,7 +598,7 @@ namespace SabreTools.DatFiles.Formats spamsums.Add(new Models.Hashfile.SpamSum { Hash = media.SpamSum, - File = name + media.Name, + File = name + media.GetName(), }); break; @@ -606,7 +606,7 @@ namespace SabreTools.DatFiles.Formats spamsums.Add(new Models.Hashfile.SpamSum { Hash = rom.SpamSum, - File = name + rom.Name, + File = name + rom.GetName(), }); break; } diff --git a/SabreTools.DatFiles/Formats/Listrom.Reader.cs b/SabreTools.DatFiles/Formats/Listrom.Reader.cs index 56cdf631..31ecbf1e 100644 --- a/SabreTools.DatFiles/Formats/Listrom.Reader.cs +++ b/SabreTools.DatFiles/Formats/Listrom.Reader.cs @@ -116,7 +116,6 @@ namespace SabreTools.DatFiles.Formats { var disk = new Disk { - Name = row.Name, ItemStatus = ItemStatus.None, Source = new Source @@ -125,6 +124,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + disk.SetName(row.Name); if (!string.IsNullOrEmpty(row.MD5)) disk.MD5 = row.MD5; @@ -143,7 +143,6 @@ namespace SabreTools.DatFiles.Formats { var rom = new Rom { - Name = row.Name, Size = NumberHelper.ConvertToInt64(row.Size), CRC = row.CRC, SHA1 = row.SHA1, @@ -155,6 +154,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(row.Name); // Now process and add the item rom.CopyMachineInformation(machine); @@ -170,7 +170,6 @@ namespace SabreTools.DatFiles.Formats { var disk = new Disk { - Name = row.Name, ItemStatus = ItemStatus.BadDump, Source = new Source @@ -179,6 +178,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + disk.SetName(row.Name); if (!string.IsNullOrEmpty(row.MD5)) disk.MD5 = row.MD5; @@ -196,7 +196,6 @@ namespace SabreTools.DatFiles.Formats { var disk = new Disk { - Name = row.Name, MD5 = null, SHA1 = null, ItemStatus = ItemStatus.Nodump, @@ -207,6 +206,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + disk.SetName(row.Name); // Now process and add the item disk.CopyMachineInformation(machine); @@ -220,7 +220,6 @@ namespace SabreTools.DatFiles.Formats { var rom = new Rom { - Name = row.Name, Size = NumberHelper.ConvertToInt64(row.Size), CRC = row.CRC, SHA1 = row.SHA1, @@ -232,6 +231,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(row.Name); // Now process and add the item rom.CopyMachineInformation(machine); @@ -244,7 +244,6 @@ namespace SabreTools.DatFiles.Formats { var rom = new Rom { - Name = row.Name, Size = NumberHelper.ConvertToInt64(row.Size), CRC = null, SHA1 = null, @@ -256,6 +255,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + rom.SetName(row.Name); // Now process and add the item rom.CopyMachineInformation(machine); diff --git a/SabreTools.DatFiles/Formats/Listrom.Writer.cs b/SabreTools.DatFiles/Formats/Listrom.Writer.cs index 4f739570..791b3f0b 100644 --- a/SabreTools.DatFiles/Formats/Listrom.Writer.cs +++ b/SabreTools.DatFiles/Formats/Listrom.Writer.cs @@ -170,7 +170,7 @@ namespace SabreTools.DatFiles.Formats { return new Models.Listrom.Row { - Name = disk.Name, + Name = disk.GetName(), NoGoodDumpKnown = true, }; } @@ -178,7 +178,7 @@ namespace SabreTools.DatFiles.Formats { var row = new Models.Listrom.Row { - Name = disk.Name, + Name = disk.GetName(), Bad = true, }; @@ -193,7 +193,7 @@ namespace SabreTools.DatFiles.Formats { var row = new Models.Listrom.Row { - Name = disk.Name, + Name = disk.GetName(), }; if (!string.IsNullOrEmpty(disk.MD5)) @@ -214,7 +214,7 @@ namespace SabreTools.DatFiles.Formats { return new Models.Listrom.Row { - Name = rom.Name, + Name = rom.GetName(), Size = rom.Size?.ToString(), NoGoodDumpKnown = true, }; @@ -223,7 +223,7 @@ namespace SabreTools.DatFiles.Formats { return new Models.Listrom.Row { - Name = rom.Name, + Name = rom.GetName(), Size = rom.Size?.ToString(), Bad = true, CRC = rom.CRC, @@ -234,7 +234,7 @@ namespace SabreTools.DatFiles.Formats { return new Models.Listrom.Row { - Name = rom.Name, + Name = rom.GetName(), Size = rom.Size?.ToString(), CRC = rom.CRC, SHA1 = rom.SHA1, diff --git a/SabreTools.DatFiles/Formats/Listxml.Reader.cs b/SabreTools.DatFiles/Formats/Listxml.Reader.cs index 463c2ef8..016c41ad 100644 --- a/SabreTools.DatFiles/Formats/Listxml.Reader.cs +++ b/SabreTools.DatFiles/Formats/Listxml.Reader.cs @@ -176,7 +176,6 @@ namespace SabreTools.DatFiles.Formats { var item = new BiosSet { - Name = biosset.Name, Description = biosset.Description, Default = biosset.Default?.AsYesNo(), @@ -186,6 +185,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(biosset.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -212,7 +212,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.Name, Bios = rom.Bios, Size = NumberHelper.ConvertToInt64(rom.Size), CRC = rom.CRC, @@ -231,6 +230,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -257,7 +257,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Disk { - Name = disk.Name, MD5 = disk.MD5, SHA1 = disk.SHA1, MergeTag = disk.Merge, @@ -273,6 +272,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(disk.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -299,14 +299,13 @@ namespace SabreTools.DatFiles.Formats { var item = new DeviceReference { - Name = deviceref.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(deviceref.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -333,14 +332,13 @@ namespace SabreTools.DatFiles.Formats { var item = new Sample { - Name = sample.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(sample.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -367,7 +365,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Chip { - Name = chip.Name, Tag = chip.Tag, ChipType = chip.Type.AsEnumValue(), //SoundOnly = chip.SoundOnly, // TODO: Add to internal model @@ -379,6 +376,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(chip.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -592,7 +590,6 @@ namespace SabreTools.DatFiles.Formats { var item = new DipSwitch { - Name = dipswitch.Name, Tag = dipswitch.Tag, Mask = dipswitch.Mask, @@ -602,6 +599,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(dipswitch.Name); if (dipswitch.Condition != null) { @@ -620,10 +618,11 @@ namespace SabreTools.DatFiles.Formats { var locationItem = new DipLocation { - Name = diplocation.Name, Number = NumberHelper.ConvertToInt64(diplocation.Number), Inverted = diplocation.Inverted.AsYesNo(), }; + locationItem.SetName(diplocation.Name); + locations.Add(locationItem); } @@ -635,10 +634,10 @@ namespace SabreTools.DatFiles.Formats { var dipValueItem = new DipValue { - Name = dipvalue.Name, Value = dipvalue.Value, Default = dipvalue.Default.AsYesNo(), }; + dipValueItem.SetName(dipvalue.Name); if (dipvalue.Condition != null) { @@ -683,7 +682,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Configuration { - Name = configuration.Name, Tag = configuration.Tag, Mask = configuration.Mask, @@ -693,6 +691,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(configuration.Name); if (configuration.Condition != null) { @@ -711,10 +710,10 @@ namespace SabreTools.DatFiles.Formats { var locationItem = new ConfLocation { - Name = confLocation.Name, Number = NumberHelper.ConvertToInt64(confLocation.Number), Inverted = confLocation.Inverted.AsYesNo(), }; + locationItem.SetName(confLocation.Name); locations.Add(locationItem); } @@ -726,10 +725,10 @@ namespace SabreTools.DatFiles.Formats { var settingItem = new ConfSetting { - Name = dipvalue.Name, Value = dipvalue.Value, Default = dipvalue.Default.AsYesNo(), }; + settingItem.SetName(dipvalue.Name); if (dipvalue.Condition != null) { @@ -821,7 +820,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Adjuster { - Name = adjuster.Name, Default = adjuster.Default.AsYesNo(), Source = new Source @@ -830,6 +828,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(adjuster.Name); if (adjuster.Condition != null) { @@ -962,19 +961,17 @@ namespace SabreTools.DatFiles.Formats { var instance = new Instance { - Name = device.Instance.Name, BriefName = device.Instance.BriefName, }; + instance.SetName(device.Instance.Name); item.Instances = [instance]; } var extensions = new List(); foreach (var extension in device.Extension ?? []) { - var extensionItem = new Extension - { - Name = extension.Name, - }; + var extensionItem = new Extension(); + extensionItem.SetName(extension.Name); extensions.Add(extensionItem); } @@ -1006,24 +1003,23 @@ namespace SabreTools.DatFiles.Formats { var item = new Slot { - Name = slot.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(slot.Name); var slotoptions = new List(); foreach (var slotoption in slot.SlotOption ?? []) { var slotoptionItem = new SlotOption { - Name = slotoption.Name, DeviceName = slotoption.DevName, Default = slotoption.Default.AsYesNo(), }; + slotoptionItem.SetName(slotoption.Name); slotoptions.Add(slotoptionItem); } @@ -1056,7 +1052,6 @@ namespace SabreTools.DatFiles.Formats var item = new DatItems.Formats.SoftwareList { Tag = softwarelist.Tag, - Name = softwarelist.Name, Status = softwarelist.Status.AsEnumValue(), Filter = softwarelist.Filter, @@ -1066,6 +1061,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(softwarelist.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -1092,7 +1088,6 @@ namespace SabreTools.DatFiles.Formats { var item = new RamOption { - Name = ramoption.Name, Default = ramoption.Default.AsYesNo(), Content = ramoption.Content, @@ -1102,6 +1097,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(ramoption.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); diff --git a/SabreTools.DatFiles/Formats/Listxml.Writer.cs b/SabreTools.DatFiles/Formats/Listxml.Writer.cs index 70053420..d142c340 100644 --- a/SabreTools.DatFiles/Formats/Listxml.Writer.cs +++ b/SabreTools.DatFiles/Formats/Listxml.Writer.cs @@ -48,14 +48,14 @@ namespace SabreTools.DatFiles.Formats switch (datItem) { case BiosSet biosset: - if (string.IsNullOrEmpty(biosset.Name)) + if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Models.Metadata.BiosSet.NameKey); if (string.IsNullOrEmpty(biosset.Description)) missingFields.Add(Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: - if (string.IsNullOrEmpty(rom.Name)) + if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Models.Metadata.Rom.NameKey); if (rom.Size == null || rom.Size < 0) missingFields.Add(Models.Metadata.Rom.SizeKey); @@ -67,7 +67,7 @@ namespace SabreTools.DatFiles.Formats break; case Disk disk: - if (string.IsNullOrEmpty(disk.Name)) + if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Models.Metadata.Disk.NameKey); if (string.IsNullOrEmpty(disk.MD5) && string.IsNullOrEmpty(disk.SHA1)) @@ -77,17 +77,17 @@ namespace SabreTools.DatFiles.Formats break; case DeviceReference deviceref: - if (string.IsNullOrEmpty(deviceref.Name)) + if (string.IsNullOrEmpty(deviceref.GetName())) missingFields.Add(Models.Metadata.DeviceRef.NameKey); break; case Sample sample: - if (string.IsNullOrEmpty(sample.Name)) + if (string.IsNullOrEmpty(sample.GetName())) missingFields.Add(Models.Metadata.Sample.NameKey); break; case Chip chip: - if (string.IsNullOrEmpty(chip.Name)) + if (string.IsNullOrEmpty(chip.GetName())) missingFields.Add(Models.Metadata.Chip.NameKey); if (!chip.ChipTypeSpecified) missingFields.Add(Models.Metadata.Chip.ChipTypeKey); @@ -111,14 +111,14 @@ namespace SabreTools.DatFiles.Formats break; case DipSwitch dipswitch: - if (string.IsNullOrEmpty(dipswitch.Name)) + if (string.IsNullOrEmpty(dipswitch.GetName())) missingFields.Add(Models.Metadata.DipSwitch.NameKey); if (string.IsNullOrEmpty(dipswitch.Tag)) missingFields.Add(Models.Metadata.DipSwitch.TagKey); break; case Configuration configuration: - if (string.IsNullOrEmpty(configuration.Name)) + if (string.IsNullOrEmpty(configuration.GetName())) missingFields.Add(Models.Metadata.Configuration.NameKey); if (string.IsNullOrEmpty(configuration.Tag)) missingFields.Add(Models.Metadata.Configuration.TagKey); @@ -130,7 +130,7 @@ namespace SabreTools.DatFiles.Formats break; case Adjuster adjuster: - if (string.IsNullOrEmpty(adjuster.Name)) + if (string.IsNullOrEmpty(adjuster.GetName())) missingFields.Add(Models.Metadata.Adjuster.NameKey); break; @@ -156,21 +156,21 @@ namespace SabreTools.DatFiles.Formats break; case Slot slot: - if (string.IsNullOrEmpty(slot.Name)) + if (string.IsNullOrEmpty(slot.GetName())) missingFields.Add(Models.Metadata.Slot.NameKey); break; case DatItems.Formats.SoftwareList softwarelist: if (string.IsNullOrEmpty(softwarelist.Tag)) missingFields.Add(Models.Metadata.SoftwareList.TagKey); - if (string.IsNullOrEmpty(softwarelist.Name)) + if (string.IsNullOrEmpty(softwarelist.GetName())) missingFields.Add(Models.Metadata.SoftwareList.NameKey); if (!softwarelist.StatusSpecified) missingFields.Add(Models.Metadata.SoftwareList.StatusKey); break; case RamOption ramoption: - if (string.IsNullOrEmpty(ramoption.Name)) + if (string.IsNullOrEmpty(ramoption.GetName())) missingFields.Add(Models.Metadata.RamOption.NameKey); break; } @@ -410,7 +410,7 @@ namespace SabreTools.DatFiles.Formats { var biosset = new Models.Listxml.BiosSet { - Name = item.Name, + Name = item.GetName(), Description = item.Description, }; @@ -427,7 +427,7 @@ namespace SabreTools.DatFiles.Formats { var rom = new Models.Listxml.Rom { - Name = item.Name, + Name = item.GetName(), Bios = item.Bios, Size = item.Size?.ToString(), CRC = item.CRC, @@ -451,7 +451,7 @@ namespace SabreTools.DatFiles.Formats { var disk = new Models.Listxml.Disk { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, Merge = item.MergeTag, @@ -472,7 +472,7 @@ namespace SabreTools.DatFiles.Formats { var deviceref = new Models.Listxml.DeviceRef { - Name = item.Name, + Name = item.GetName(), }; return deviceref; @@ -485,7 +485,7 @@ namespace SabreTools.DatFiles.Formats { var sample = new Models.Listxml.Sample { - Name = item.Name, + Name = item.GetName(), }; return sample; @@ -498,7 +498,7 @@ namespace SabreTools.DatFiles.Formats { var chip = new Models.Listxml.Chip { - Name = item.Name, + Name = item.GetName(), Tag = item.Tag, Type = item.ChipType.AsStringValue(), //SoundOnly = item.SoundOnly, // TODO: Add to internal model @@ -606,7 +606,7 @@ namespace SabreTools.DatFiles.Formats { var dipswitch = new Models.Listxml.DipSwitch { - Name = item.Name, + Name = item.GetName(), Tag = item.Tag, Mask = item.Mask, }; @@ -654,7 +654,7 @@ namespace SabreTools.DatFiles.Formats { var diplocation = new Models.Listxml.DipLocation { - Name = item.Name, + Name = item.GetName(), Number = item.Number?.ToString(), Inverted = item.Inverted.FromYesNo(), }; @@ -669,7 +669,7 @@ namespace SabreTools.DatFiles.Formats { var dipvalue = new Models.Listxml.DipValue { - Name = item.Name, + Name = item.GetName(), Value = item.Value, Default = item.Default.FromYesNo(), }; @@ -697,7 +697,7 @@ namespace SabreTools.DatFiles.Formats { var configuration = new Models.Listxml.Configuration { - Name = item.Name, + Name = item.GetName(), Tag = item.Tag, Mask = item.Mask, }; @@ -745,7 +745,7 @@ namespace SabreTools.DatFiles.Formats { var conflocation = new Models.Listxml.ConfLocation { - Name = item.Name, + Name = item.GetName(), Number = item.Number?.ToString(), Inverted = item.Inverted.FromYesNo(), }; @@ -760,7 +760,7 @@ namespace SabreTools.DatFiles.Formats { var confsetting = new Models.Listxml.ConfSetting { - Name = item.Name, + Name = item.GetName(), Value = item.Value, Default = item.Default.FromYesNo(), }; @@ -801,7 +801,7 @@ namespace SabreTools.DatFiles.Formats { var adjuster = new Models.Listxml.Adjuster { - Name = item.Name, + Name = item.GetName(), Default = item.Default.FromYesNo(), }; @@ -878,7 +878,7 @@ namespace SabreTools.DatFiles.Formats var instanceItem = item.Instances?.FirstOrDefault(); var instance = new Models.Listxml.Instance { - Name = instanceItem?.Name, + Name = instanceItem?.GetName(), BriefName = instanceItem?.BriefName, }; device.Instance = instance; @@ -889,7 +889,7 @@ namespace SabreTools.DatFiles.Formats { var extension = new Models.Listxml.Extension { - Name = extensionItem.Name, + Name = extensionItem.GetName(), }; extensions.Add(extension); } @@ -907,7 +907,7 @@ namespace SabreTools.DatFiles.Formats { var slot = new Models.Listxml.Slot { - Name = item.Name, + Name = item.GetName(), }; var slotoptions = new List(); @@ -915,7 +915,7 @@ namespace SabreTools.DatFiles.Formats { var slotoption = new Models.Listxml.SlotOption { - Name = slotoptionItem.Name, + Name = slotoptionItem.GetName(), DevName = slotoptionItem.DeviceName, Default = slotoptionItem.Default.FromYesNo(), }; @@ -936,7 +936,7 @@ namespace SabreTools.DatFiles.Formats var softwarelist = new Models.Listxml.SoftwareList { Tag = item.Tag, - Name = item.Name, + Name = item.GetName(), Status = item.Status.AsStringValue(), Filter = item.Filter, }; @@ -951,7 +951,7 @@ namespace SabreTools.DatFiles.Formats { var softwarelist = new Models.Listxml.RamOption { - Name = item.Name, + Name = item.GetName(), Default = item.Default.FromYesNo(), Content = item.Content, }; diff --git a/SabreTools.DatFiles/Formats/Logiqx.Reader.cs b/SabreTools.DatFiles/Formats/Logiqx.Reader.cs index 5f192527..d06237f2 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.Reader.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.Reader.cs @@ -320,7 +320,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Release { - Name = release.Name, Region = release.Region, Language = release.Language, Date = release.Date, @@ -332,6 +331,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(release.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -358,7 +358,6 @@ namespace SabreTools.DatFiles.Formats { var item = new BiosSet { - Name = biosset.Name, Description = biosset.Description, Default = biosset.Default?.AsYesNo(), @@ -368,6 +367,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(biosset.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -394,7 +394,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.Name, Size = NumberHelper.ConvertToInt64(rom.Size), CRC = rom.CRC, MD5 = rom.MD5, @@ -419,6 +418,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -445,7 +445,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Disk { - Name = disk.Name, MD5 = disk.MD5, SHA1 = disk.SHA1, MergeTag = disk.Merge, @@ -457,6 +456,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(disk.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -483,7 +483,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Media { - Name = medium.Name, MD5 = medium.MD5, SHA1 = medium.SHA1, SHA256 = medium.SHA256, @@ -495,6 +494,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(medium.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -521,14 +521,13 @@ namespace SabreTools.DatFiles.Formats { var item = new DeviceReference { - Name = deviceref.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(deviceref.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -555,14 +554,13 @@ namespace SabreTools.DatFiles.Formats { var item = new Sample { - Name = sample.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(sample.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -589,14 +587,13 @@ namespace SabreTools.DatFiles.Formats { var item = new Archive { - Name = archive.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(archive.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -662,7 +659,6 @@ namespace SabreTools.DatFiles.Formats var item = new DatItems.Formats.SoftwareList { Tag = softwarelist.Tag, - Name = softwarelist.Name, Status = softwarelist.Status?.AsEnumValue() ?? SoftwareListStatus.None, Filter = softwarelist.Filter, @@ -672,6 +668,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(softwarelist.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); diff --git a/SabreTools.DatFiles/Formats/Logiqx.Writer.cs b/SabreTools.DatFiles/Formats/Logiqx.Writer.cs index 4a4a0e5b..cb2a2536 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.Writer.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.Writer.cs @@ -35,21 +35,21 @@ namespace SabreTools.DatFiles.Formats switch (datItem) { case Release release: - if (string.IsNullOrEmpty(release.Name)) + if (string.IsNullOrEmpty(release.GetName())) missingFields.Add(Models.Metadata.Release.NameKey); if (string.IsNullOrEmpty(release.Region)) missingFields.Add(Models.Metadata.Release.RegionKey); break; case BiosSet biosset: - if (string.IsNullOrEmpty(biosset.Name)) + if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Models.Metadata.BiosSet.NameKey); if (string.IsNullOrEmpty(biosset.Description)) missingFields.Add(Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: - if (string.IsNullOrEmpty(rom.Name)) + if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Models.Metadata.Rom.NameKey); if (rom.Size == null || rom.Size < 0) missingFields.Add(Models.Metadata.Rom.SizeKey); @@ -66,7 +66,7 @@ namespace SabreTools.DatFiles.Formats break; case Disk disk: - if (string.IsNullOrEmpty(disk.Name)) + if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Models.Metadata.Disk.NameKey); if (string.IsNullOrEmpty(disk.MD5) && string.IsNullOrEmpty(disk.SHA1)) @@ -76,7 +76,7 @@ namespace SabreTools.DatFiles.Formats break; case Media media: - if (string.IsNullOrEmpty(media.Name)) + if (string.IsNullOrEmpty(media.GetName())) missingFields.Add(Models.Metadata.Media.NameKey); if (string.IsNullOrEmpty(media.MD5) && string.IsNullOrEmpty(media.SHA1) @@ -88,17 +88,17 @@ namespace SabreTools.DatFiles.Formats break; case DeviceReference deviceref: - if (string.IsNullOrEmpty(deviceref.Name)) + if (string.IsNullOrEmpty(deviceref.GetName())) missingFields.Add(Models.Metadata.DeviceRef.NameKey); break; case Sample sample: - if (string.IsNullOrEmpty(sample.Name)) + if (string.IsNullOrEmpty(sample.GetName())) missingFields.Add(Models.Metadata.Sample.NameKey); break; case Archive archive: - if (string.IsNullOrEmpty(archive.Name)) + if (string.IsNullOrEmpty(archive.GetName())) missingFields.Add(Models.Metadata.Archive.NameKey); break; @@ -116,7 +116,7 @@ namespace SabreTools.DatFiles.Formats case DatItems.Formats.SoftwareList softwarelist: if (string.IsNullOrEmpty(softwarelist.Tag)) missingFields.Add(Models.Metadata.SoftwareList.TagKey); - if (string.IsNullOrEmpty(softwarelist.Name)) + if (string.IsNullOrEmpty(softwarelist.GetName())) missingFields.Add(Models.Metadata.SoftwareList.NameKey); if (!softwarelist.StatusSpecified) missingFields.Add(Models.Metadata.SoftwareList.StatusKey); @@ -484,7 +484,7 @@ namespace SabreTools.DatFiles.Formats { var release = new Models.Logiqx.Release { - Name = item.Name, + Name = item.GetName(), Region = item.Region, Language = item.Language, Date = item.Date, @@ -503,7 +503,7 @@ namespace SabreTools.DatFiles.Formats { var biosset = new Models.Logiqx.BiosSet { - Name = item.Name, + Name = item.GetName(), Description = item.Description, }; @@ -520,7 +520,7 @@ namespace SabreTools.DatFiles.Formats { var rom = new Models.Logiqx.Rom { - Name = item.Name, + Name = item.GetName(), Size = item.Size?.ToString(), CRC = item.CRC, MD5 = item.MD5, @@ -554,7 +554,7 @@ namespace SabreTools.DatFiles.Formats { var disk = new Models.Logiqx.Disk { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, Merge = item.MergeTag, @@ -574,7 +574,7 @@ namespace SabreTools.DatFiles.Formats { var media = new Models.Logiqx.Media { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, SHA256 = item.SHA256, @@ -590,7 +590,7 @@ namespace SabreTools.DatFiles.Formats { var sample = new Models.Logiqx.Sample { - Name = item.Name, + Name = item.GetName(), }; return sample; } @@ -602,7 +602,7 @@ namespace SabreTools.DatFiles.Formats { var archive = new Models.Logiqx.Archive { - Name = item.Name, + Name = item.GetName(), }; return archive; } @@ -614,7 +614,7 @@ namespace SabreTools.DatFiles.Formats { var deviceref = new Models.Logiqx.DeviceRef { - Name = item.Name, + Name = item.GetName(), }; return deviceref; } @@ -652,7 +652,7 @@ namespace SabreTools.DatFiles.Formats var softwarelist = new Models.Logiqx.SoftwareList { Tag = item.Tag, - Name = item.Name, + Name = item.GetName(), Filter = item.Filter, }; diff --git a/SabreTools.DatFiles/Formats/OfflineList.Reader.cs b/SabreTools.DatFiles/Formats/OfflineList.Reader.cs index cb897de0..3a640952 100644 --- a/SabreTools.DatFiles/Formats/OfflineList.Reader.cs +++ b/SabreTools.DatFiles/Formats/OfflineList.Reader.cs @@ -370,7 +370,6 @@ namespace SabreTools.DatFiles.Formats var item = new Rom { - Name = name, Size = size, CRC = crc.Content, ItemStatus = ItemStatus.None, @@ -381,6 +380,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); diff --git a/SabreTools.DatFiles/Formats/OpenMSX.Reader.cs b/SabreTools.DatFiles/Formats/OpenMSX.Reader.cs index e418a5fd..de8da61a 100644 --- a/SabreTools.DatFiles/Formats/OpenMSX.Reader.cs +++ b/SabreTools.DatFiles/Formats/OpenMSX.Reader.cs @@ -143,7 +143,6 @@ namespace SabreTools.DatFiles.Formats string name = $"{machine.Name}_{index++}{(!string.IsNullOrEmpty(rom.Remark) ? $" {rom.Remark}" : string.Empty)}"; var item = new Rom { - Name = name, Offset = dump.Rom?.Start, OpenMSXType = rom.Type, SHA1 = rom.Hash, @@ -155,6 +154,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(name); if (dump.Original != null) { diff --git a/SabreTools.DatFiles/Formats/RomCenter.Reader.cs b/SabreTools.DatFiles/Formats/RomCenter.Reader.cs index 2d4ea7d9..9efb9768 100644 --- a/SabreTools.DatFiles/Formats/RomCenter.Reader.cs +++ b/SabreTools.DatFiles/Formats/RomCenter.Reader.cs @@ -109,7 +109,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.RomName, Size = NumberHelper.ConvertToInt64(rom.RomSize), CRC = rom.RomCRC, MergeTag = rom.MergeName, @@ -130,6 +129,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.RomName); // Now process and add the item ParseAddHelper(item, statsOnly); diff --git a/SabreTools.DatFiles/Formats/RomCenter.Writer.cs b/SabreTools.DatFiles/Formats/RomCenter.Writer.cs index 4a672b84..c55cff47 100644 --- a/SabreTools.DatFiles/Formats/RomCenter.Writer.cs +++ b/SabreTools.DatFiles/Formats/RomCenter.Writer.cs @@ -187,7 +187,7 @@ namespace SabreTools.DatFiles.Formats //ParentDescription = item.Machine.CloneOfDescription, // TODO: Add to internal model or find mapping GameName = item.Machine.Name, GameDescription = item.Machine.Description, - RomName = item.Name, + RomName = item.GetName(), RomCRC = item.CRC, RomSize = item.Size?.ToString(), RomOf = item.Machine.RomOf, diff --git a/SabreTools.DatFiles/Formats/SeparatedValue.Reader.cs b/SabreTools.DatFiles/Formats/SeparatedValue.Reader.cs index 5d9694a1..cc561ce9 100644 --- a/SabreTools.DatFiles/Formats/SeparatedValue.Reader.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.Reader.cs @@ -84,7 +84,6 @@ namespace SabreTools.DatFiles.Formats case ItemType.Disk: item = new Disk { - Name = row.DiskName, MD5 = row.MD5, SHA1 = row.SHA1, ItemStatus = row.Status.AsEnumValue(), @@ -95,12 +94,12 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(row.DiskName); break; case ItemType.Media: item = new Media { - Name = row.DiskName, MD5 = row.MD5, SHA1 = row.SHA1, SHA256 = row.SHA256, @@ -112,12 +111,12 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(row.DiskName); break; case ItemType.Rom: item = new Rom { - Name = row.RomName, CRC = row.CRC, MD5 = row.MD5, SHA1 = row.SHA1, @@ -133,6 +132,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(row.RomName); break; } diff --git a/SabreTools.DatFiles/Formats/SeparatedValue.Writer.cs b/SabreTools.DatFiles/Formats/SeparatedValue.Writer.cs index 3152c846..9a9b4711 100644 --- a/SabreTools.DatFiles/Formats/SeparatedValue.Writer.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.Writer.cs @@ -166,7 +166,7 @@ namespace SabreTools.DatFiles.Formats GameDescription = disk.Machine.Description, Type = disk.ItemType.AsStringValue(), RomName = string.Empty, - DiskName = disk.Name, + DiskName = disk.GetName(), Size = string.Empty, CRC = string.Empty, MD5 = disk.MD5, @@ -194,7 +194,7 @@ namespace SabreTools.DatFiles.Formats GameDescription = media.Machine.Description, Type = media.ItemType.AsStringValue(), RomName = string.Empty, - DiskName = media.Name, + DiskName = media.GetName(), Size = string.Empty, CRC = string.Empty, MD5 = media.MD5, @@ -221,7 +221,7 @@ namespace SabreTools.DatFiles.Formats GameName = rom.Machine.Name, GameDescription = rom.Machine.Description, Type = rom.ItemType.AsStringValue(), - RomName = rom.Name, + RomName = rom.GetName(), DiskName = string.Empty, Size = rom.Size?.ToString(), CRC = rom.CRC, diff --git a/SabreTools.DatFiles/Formats/SoftwareList.Reader.cs b/SabreTools.DatFiles/Formats/SoftwareList.Reader.cs index c457019a..a02fdf68 100644 --- a/SabreTools.DatFiles/Formats/SoftwareList.Reader.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.Reader.cs @@ -106,7 +106,6 @@ namespace SabreTools.DatFiles.Formats { var infoItem = new Info { - Name = info.Name, Value = info.Value, Source = new Source @@ -115,6 +114,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + infoItem.SetName(info.Name); infoItem.CopyMachineInformation(machine); ParseAddHelper(infoItem, statsOnly); @@ -125,7 +125,6 @@ namespace SabreTools.DatFiles.Formats { var sharedfeatItem = new SharedFeature { - Name = sharedfeat.Name, Value = sharedfeat.Value, Source = new Source @@ -134,6 +133,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + sharedfeatItem.SetName(sharedfeat.Name); sharedfeatItem.CopyMachineInformation(machine); ParseAddHelper(sharedfeatItem, statsOnly); @@ -181,7 +181,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Part { - Name = part.Name, Interface = part.Interface, Features = CreateFeatures(part.Feature, machine, filename, indexId, statsOnly), @@ -191,6 +190,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(part.Name); item.CopyMachineInformation(machine); @@ -219,7 +219,6 @@ namespace SabreTools.DatFiles.Formats { var item = new PartFeature { - Name = feature.Name, Value = feature.Value, Source = new Source @@ -228,6 +227,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(feature.Name); item.CopyMachineInformation(machine); partFeatures.Add(item); @@ -256,7 +256,6 @@ namespace SabreTools.DatFiles.Formats { var item = new DataArea { - Name = dataarea.Name, Size = NumberHelper.ConvertToInt64(dataarea.Size), Width = NumberHelper.ConvertToInt64(dataarea.Width), Endianness = dataarea.Endianness.AsEnumValue(), @@ -267,6 +266,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(dataarea.Name); item.CopyMachineInformation(machine); ConvertRoms(dataarea.Rom, part, item, machine, filename, indexId, statsOnly, ref containsItems); @@ -295,7 +295,6 @@ namespace SabreTools.DatFiles.Formats { var item = new Rom { - Name = rom.Name, Size = NumberHelper.ConvertToInt64(rom.Size ?? rom.Length), CRC = rom.CRC, SHA1 = rom.SHA1, @@ -313,6 +312,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(rom.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -339,14 +339,13 @@ namespace SabreTools.DatFiles.Formats { var item = new DiskArea { - Name = diskarea.Name, - Source = new Source { Index = indexId, Name = filename, }, }; + item.SetName(diskarea.Name); item.CopyMachineInformation(machine); ConvertDisks(diskarea.Disk, part, item, machine, filename, indexId, statsOnly, ref containsItems); @@ -371,15 +370,14 @@ namespace SabreTools.DatFiles.Formats return; containsItems = true; - foreach (var rom in disks) + foreach (var disk in disks) { var item = new Disk { - Name = rom.Name, - MD5 = rom.MD5, - SHA1 = rom.SHA1, - ItemStatus = rom.Status.AsEnumValue(), - Writable = rom.Writeable.AsYesNo(), + MD5 = disk.MD5, + SHA1 = disk.SHA1, + ItemStatus = disk.Status.AsEnumValue(), + Writable = disk.Writeable.AsYesNo(), Part = part, DiskArea = diskarea, @@ -390,6 +388,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(disk.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -416,11 +415,10 @@ namespace SabreTools.DatFiles.Formats { var item = new DipSwitch { - Name = dipswitch.Name, Tag = dipswitch.Tag, Mask = dipswitch.Mask, Values = CreateDipValues(dipswitch.DipValue, machine, filename, indexId), - + Part = part, Source = new Source @@ -429,6 +427,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(dipswitch.Name); item.CopyMachineInformation(machine); ParseAddHelper(item, statsOnly); @@ -453,7 +452,6 @@ namespace SabreTools.DatFiles.Formats { var item = new DipValue { - Name = dipvalue.Name, Value = dipvalue.Value, Default = dipvalue.Default.AsYesNo(), @@ -463,6 +461,7 @@ namespace SabreTools.DatFiles.Formats Name = filename, }, }; + item.SetName(dipvalue.Name); item.CopyMachineInformation(machine); settings.Add(item); diff --git a/SabreTools.DatFiles/Formats/SoftwareList.Writer.cs b/SabreTools.DatFiles/Formats/SoftwareList.Writer.cs index 029ca807..50675333 100644 --- a/SabreTools.DatFiles/Formats/SoftwareList.Writer.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.Writer.cs @@ -41,12 +41,12 @@ namespace SabreTools.DatFiles.Formats } else { - if (string.IsNullOrEmpty(dipSwitch.Part!.Name)) + if (string.IsNullOrEmpty(dipSwitch.Part!.GetName())) missingFields.Add(Models.Metadata.Part.NameKey); if (string.IsNullOrEmpty(dipSwitch.Part.Interface)) missingFields.Add(Models.Metadata.Part.InterfaceKey); } - if (string.IsNullOrEmpty(dipSwitch.Name)) + if (string.IsNullOrEmpty(dipSwitch.GetName())) missingFields.Add(Models.Metadata.DipSwitch.NameKey); if (string.IsNullOrEmpty(dipSwitch.Tag)) missingFields.Add(Models.Metadata.DipSwitch.TagKey); @@ -54,7 +54,7 @@ namespace SabreTools.DatFiles.Formats missingFields.Add(Models.Metadata.DipSwitch.MaskKey); if (dipSwitch.ValuesSpecified) { - if (dipSwitch.Values!.Any(dv => string.IsNullOrEmpty(dv.Name))) + if (dipSwitch.Values!.Any(dv => string.IsNullOrEmpty(dv.GetName()))) missingFields.Add(Models.Metadata.DipValue.NameKey); if (dipSwitch.Values!.Any(dv => string.IsNullOrEmpty(dv.Value))) missingFields.Add(Models.Metadata.DipValue.ValueKey); @@ -70,7 +70,7 @@ namespace SabreTools.DatFiles.Formats } else { - if (string.IsNullOrEmpty(disk.Part!.Name)) + if (string.IsNullOrEmpty(disk.Part!.GetName())) missingFields.Add(Models.Metadata.Part.NameKey); if (string.IsNullOrEmpty(disk.Part.Interface)) missingFields.Add(Models.Metadata.Part.InterfaceKey); @@ -81,15 +81,15 @@ namespace SabreTools.DatFiles.Formats } else { - if (string.IsNullOrEmpty(disk.DiskArea!.Name)) + if (string.IsNullOrEmpty(disk.DiskArea!.GetName())) missingFields.Add(Models.Metadata.DiskArea.NameKey); } - if (string.IsNullOrEmpty(disk.Name)) + if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Models.Metadata.Disk.NameKey); break; case Info info: - if (string.IsNullOrEmpty(info.Name)) + if (string.IsNullOrEmpty(info.GetName())) missingFields.Add(Models.Metadata.Info.NameKey); break; @@ -101,7 +101,7 @@ namespace SabreTools.DatFiles.Formats } else { - if (string.IsNullOrEmpty(rom.Part!.Name)) + if (string.IsNullOrEmpty(rom.Part!.GetName())) missingFields.Add(Models.Metadata.Part.NameKey); if (string.IsNullOrEmpty(rom.Part.Interface)) missingFields.Add(Models.Metadata.Part.InterfaceKey); @@ -113,7 +113,7 @@ namespace SabreTools.DatFiles.Formats } else { - if (string.IsNullOrEmpty(rom.DataArea!.Name)) + if (string.IsNullOrEmpty(rom.DataArea!.GetName())) missingFields.Add(Models.Metadata.DataArea.NameKey); if (!rom.DataArea.SizeSpecified) missingFields.Add(Models.Metadata.DataArea.SizeKey); @@ -121,7 +121,7 @@ namespace SabreTools.DatFiles.Formats break; case SharedFeature sharedFeat: - if (string.IsNullOrEmpty(sharedFeat.Name)) + if (string.IsNullOrEmpty(sharedFeat.GetName())) missingFields.Add(Models.Metadata.SharedFeat.NameKey); break; default: @@ -278,7 +278,7 @@ namespace SabreTools.DatFiles.Formats { var info = new Models.SoftwareList.Info { - Name = item.Name, + Name = item.GetName(), Value = item.Value, }; return info; @@ -291,7 +291,7 @@ namespace SabreTools.DatFiles.Formats { var sharedfeat = new Models.SoftwareList.SharedFeat { - Name = item.Name, + Name = item.GetName(), Value = item.Value, }; return sharedfeat; @@ -304,7 +304,7 @@ namespace SabreTools.DatFiles.Formats { var part = new Models.SoftwareList.Part { - Name = item.Part?.Name, + Name = item.Part?.GetName(), Interface = item.Part?.Interface, Feature = CreateFeatures(item.Part?.Features), DataArea = CreateDataAreas(item), @@ -321,7 +321,7 @@ namespace SabreTools.DatFiles.Formats { var part = new Models.SoftwareList.Part { - Name = item.Part?.Name, + Name = item.Part?.GetName(), Interface = item.Part?.Interface, Feature = CreateFeatures(item.Part?.Features), DataArea = null, @@ -338,7 +338,7 @@ namespace SabreTools.DatFiles.Formats { var part = new Models.SoftwareList.Part { - Name = item.Part?.Name, + Name = item.Part?.GetName(), Interface = item.Part?.Interface, Feature = CreateFeatures(item.Part?.Features), DataArea = null, @@ -362,7 +362,7 @@ namespace SabreTools.DatFiles.Formats { var feature = new Models.SoftwareList.Feature { - Name = item.Name, + Name = item.GetName(), Value = item.Value, }; features.Add(feature); @@ -378,7 +378,7 @@ namespace SabreTools.DatFiles.Formats { var dataArea = new Models.SoftwareList.DataArea { - Name = item.DataArea?.Name, + Name = item.DataArea?.GetName(), Size = item.DataArea?.Size?.ToString(), Width = item.DataArea?.Width?.ToString(), Endianness = item.DataArea?.Endianness.AsStringValue(), @@ -394,7 +394,7 @@ namespace SabreTools.DatFiles.Formats { var rom = new Models.SoftwareList.Rom { - Name = item.Name, + Name = item.GetName(), Size = item.Size?.ToString(), Length = null, CRC = item.CRC, @@ -426,7 +426,7 @@ namespace SabreTools.DatFiles.Formats { var disk = new Models.SoftwareList.Disk { - Name = item.Name, + Name = item.GetName(), MD5 = item.MD5, SHA1 = item.SHA1, Status = item.ItemStatus.AsStringValue(useSecond: false), @@ -445,10 +445,11 @@ namespace SabreTools.DatFiles.Formats { var dipValue = new Models.SoftwareList.DipValue { - Name = setting.Name, + Name = setting.GetName(), Value = setting.Value, Default = setting.Default?.ToString(), }; + dipValues.Add(dipValue); } diff --git a/SabreTools.DatItems/Formats/Adjuster.cs b/SabreTools.DatItems/Formats/Adjuster.cs index b4536824..caee09e3 100644 --- a/SabreTools.DatItems/Formats/Adjuster.cs +++ b/SabreTools.DatItems/Formats/Adjuster.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Adjuster.NameKey); - set => _internal[Models.Metadata.Adjuster.NameKey] = value; - } - /// /// Determine whether the value is default /// @@ -72,7 +62,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Adjuster(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Adjuster; } diff --git a/SabreTools.DatItems/Formats/Archive.cs b/SabreTools.DatItems/Formats/Archive.cs index 83219b28..646e2b5b 100644 --- a/SabreTools.DatItems/Formats/Archive.cs +++ b/SabreTools.DatItems/Formats/Archive.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Archive.NameKey); - set => _internal[Models.Metadata.Archive.NameKey] = value; - } - /// /// Archive ID number /// @@ -109,7 +99,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Archive(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Archive; } diff --git a/SabreTools.DatItems/Formats/BiosSet.cs b/SabreTools.DatItems/Formats/BiosSet.cs index 9fe1d3ef..812f8100 100644 --- a/SabreTools.DatItems/Formats/BiosSet.cs +++ b/SabreTools.DatItems/Formats/BiosSet.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.BiosSet.NameKey); - set => _internal[Models.Metadata.BiosSet.NameKey] = value; - } - /// /// Description of the BIOS /// @@ -67,7 +57,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.BiosSet(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.BiosSet; } diff --git a/SabreTools.DatItems/Formats/Chip.cs b/SabreTools.DatItems/Formats/Chip.cs index a765e715..f86b00f3 100644 --- a/SabreTools.DatItems/Formats/Chip.cs +++ b/SabreTools.DatItems/Formats/Chip.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Chip.NameKey); - set => _internal[Models.Metadata.Chip.NameKey] = value; - } - /// /// Internal tag /// @@ -83,7 +73,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Chip(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Chip; } diff --git a/SabreTools.DatItems/Formats/ConfLocation.cs b/SabreTools.DatItems/Formats/ConfLocation.cs index e2b96be2..7bb68003 100644 --- a/SabreTools.DatItems/Formats/ConfLocation.cs +++ b/SabreTools.DatItems/Formats/ConfLocation.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Location name - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.ConfLocation.NameKey); - set => _internal[Models.Metadata.ConfLocation.NameKey] = value; - } - /// /// Location ID /// @@ -70,7 +60,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.ConfLocation(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.ConfLocation; } diff --git a/SabreTools.DatItems/Formats/ConfSetting.cs b/SabreTools.DatItems/Formats/ConfSetting.cs index 2c940103..f2eaf423 100644 --- a/SabreTools.DatItems/Formats/ConfSetting.cs +++ b/SabreTools.DatItems/Formats/ConfSetting.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Setting name - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.ConfSetting.NameKey); - set => _internal[Models.Metadata.ConfSetting.NameKey] = value; - } - /// /// Setting value /// @@ -82,7 +72,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.ConfSetting(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.ConfSetting; } diff --git a/SabreTools.DatItems/Formats/Configuration.cs b/SabreTools.DatItems/Formats/Configuration.cs index 19b38d4a..bcf49b18 100644 --- a/SabreTools.DatItems/Formats/Configuration.cs +++ b/SabreTools.DatItems/Formats/Configuration.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Configuration.NameKey); - set => _internal[Models.Metadata.Configuration.NameKey] = value; - } - /// /// Tag associated with the configuration /// @@ -105,7 +95,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Configuration(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Configuration; } diff --git a/SabreTools.DatItems/Formats/DataArea.cs b/SabreTools.DatItems/Formats/DataArea.cs index d6fd9bb7..254367e0 100644 --- a/SabreTools.DatItems/Formats/DataArea.cs +++ b/SabreTools.DatItems/Formats/DataArea.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DataArea.NameKey); - set => _internal[Models.Metadata.DataArea.NameKey] = value; - } - /// /// Total size of the area /// @@ -85,7 +75,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DataArea(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DataArea; } diff --git a/SabreTools.DatItems/Formats/DeviceReference.cs b/SabreTools.DatItems/Formats/DeviceReference.cs index 2d7e2f51..3db0749b 100644 --- a/SabreTools.DatItems/Formats/DeviceReference.cs +++ b/SabreTools.DatItems/Formats/DeviceReference.cs @@ -10,20 +10,6 @@ namespace SabreTools.DatItems.Formats [JsonObject("device_ref"), XmlRoot("device_ref")] public class DeviceReference : DatItem { - #region Fields - - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DeviceRef.NameKey); - set => _internal[Models.Metadata.DeviceRef.NameKey] = value; - } - - #endregion - #region Accessors /// @@ -44,7 +30,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DeviceRef(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DeviceReference; } diff --git a/SabreTools.DatItems/Formats/DipLocation.cs b/SabreTools.DatItems/Formats/DipLocation.cs index a65c31e2..b19d3ee7 100644 --- a/SabreTools.DatItems/Formats/DipLocation.cs +++ b/SabreTools.DatItems/Formats/DipLocation.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Location name - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DipLocation.NameKey); - set => _internal[Models.Metadata.DipLocation.NameKey] = value; - } - /// /// Location ID /// @@ -70,7 +60,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DipLocation(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DipLocation; } diff --git a/SabreTools.DatItems/Formats/DipSwitch.cs b/SabreTools.DatItems/Formats/DipSwitch.cs index 4be9bf59..c500d4c1 100644 --- a/SabreTools.DatItems/Formats/DipSwitch.cs +++ b/SabreTools.DatItems/Formats/DipSwitch.cs @@ -16,16 +16,6 @@ namespace SabreTools.DatItems.Formats #region Common - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DipSwitch.NameKey); - set => _internal[Models.Metadata.DipSwitch.NameKey] = value; - } - /// /// Tag associated with the dipswitch /// @@ -102,7 +92,7 @@ namespace SabreTools.DatItems.Formats get { return Part != null - && (!string.IsNullOrEmpty(Part.Name) + && (!string.IsNullOrEmpty(Part.GetName()) || !string.IsNullOrEmpty(Part.Interface)); } } @@ -131,7 +121,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DipSwitch(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DipSwitch; } diff --git a/SabreTools.DatItems/Formats/DipValue.cs b/SabreTools.DatItems/Formats/DipValue.cs index e7ba3568..f9327e6b 100644 --- a/SabreTools.DatItems/Formats/DipValue.cs +++ b/SabreTools.DatItems/Formats/DipValue.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Setting name - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DipValue.NameKey); - set => _internal[Models.Metadata.DipValue.NameKey] = value; - } - /// /// Setting value /// @@ -82,7 +72,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DipValue(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DipValue; } diff --git a/SabreTools.DatItems/Formats/Disk.cs b/SabreTools.DatItems/Formats/Disk.cs index 81a45d52..d602e644 100644 --- a/SabreTools.DatItems/Formats/Disk.cs +++ b/SabreTools.DatItems/Formats/Disk.cs @@ -17,16 +17,6 @@ namespace SabreTools.DatItems.Formats #region Common - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Disk.NameKey); - set => _internal[Models.Metadata.Disk.NameKey] = value; - } - /// /// Data MD5 hash /// @@ -138,7 +128,7 @@ namespace SabreTools.DatItems.Formats get { return DiskArea != null - && !string.IsNullOrEmpty(DiskArea.Name); + && !string.IsNullOrEmpty(DiskArea.GetName()); } } @@ -159,7 +149,7 @@ namespace SabreTools.DatItems.Formats get { return Part != null - && (!string.IsNullOrEmpty(Part.Name) + && (!string.IsNullOrEmpty(Part.GetName()) || !string.IsNullOrEmpty(Part.Interface)); } } @@ -188,7 +178,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Disk(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Disk; DupeType = 0x00; ItemStatus = ItemStatus.None; @@ -202,7 +192,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Disk(); Machine = new Machine(); - Name = baseFile.Filename; + SetName(baseFile.Filename); MD5 = TextHelper.ByteArrayToString(baseFile.MD5); SHA1 = TextHelper.ByteArrayToString(baseFile.SHA1); @@ -238,7 +228,7 @@ namespace SabreTools.DatItems.Formats { return new BaseFile() { - Filename = this.Name, + Filename = this.GetName(), Parent = this.Machine.Name, MD5 = TextHelper.StringToByteArray(this.MD5), SHA1 = TextHelper.StringToByteArray(this.SHA1), @@ -260,10 +250,12 @@ namespace SabreTools.DatItems.Formats Source = this.Source?.Clone() as Source, Remove = this.Remove, - DataArea = new DataArea { Name = this.DiskArea?.Name }, + DataArea = new DataArea(), Part = this.Part, }; + rom.DataArea.SetName(this.DiskArea?.GetName()); + return rom; } diff --git a/SabreTools.DatItems/Formats/DiskArea.cs b/SabreTools.DatItems/Formats/DiskArea.cs index 5a85dd6d..b5b54884 100644 --- a/SabreTools.DatItems/Formats/DiskArea.cs +++ b/SabreTools.DatItems/Formats/DiskArea.cs @@ -11,20 +11,6 @@ namespace SabreTools.DatItems.Formats [JsonObject("diskarea"), XmlRoot("diskarea")] public class DiskArea : DatItem { - #region Fields - - /// - /// Name of the item - /// - [JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.DiskArea.NameKey); - set => _internal[Models.Metadata.DiskArea.NameKey] = value; - } - - #endregion - #region Accessors /// @@ -45,7 +31,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.DiskArea(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.DiskArea; } diff --git a/SabreTools.DatItems/Formats/Extension.cs b/SabreTools.DatItems/Formats/Extension.cs index c9cda2c9..b5223fbd 100644 --- a/SabreTools.DatItems/Formats/Extension.cs +++ b/SabreTools.DatItems/Formats/Extension.cs @@ -10,20 +10,6 @@ namespace SabreTools.DatItems.Formats [JsonObject("extension"), XmlRoot("extension")] public class Extension : DatItem { - #region Fields - - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Extension.NameKey); - set => _internal[Models.Metadata.Extension.NameKey] = value; - } - - #endregion - #region Accessors /// @@ -44,7 +30,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Extension(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Extension; } diff --git a/SabreTools.DatItems/Formats/File.cs b/SabreTools.DatItems/Formats/File.cs index 2a84c129..e7d78615 100644 --- a/SabreTools.DatItems/Formats/File.cs +++ b/SabreTools.DatItems/Formats/File.cs @@ -171,7 +171,6 @@ namespace SabreTools.DatItems.Formats { var rom = new Rom() { - Name = $"{this.Id}.{this.Extension}", ItemType = ItemType.Rom, DupeType = this.DupeType, @@ -184,6 +183,7 @@ namespace SabreTools.DatItems.Formats SHA1 = this.SHA1, SHA256 = this.SHA256, }; + rom.SetName($"{this.Id}.{this.Extension}"); return rom; } diff --git a/SabreTools.DatItems/Formats/Info.cs b/SabreTools.DatItems/Formats/Info.cs index 500fd203..b40336a4 100644 --- a/SabreTools.DatItems/Formats/Info.cs +++ b/SabreTools.DatItems/Formats/Info.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Info.NameKey); - set => _internal[Models.Metadata.Info.NameKey] = value; - } - /// /// Information value /// @@ -54,7 +44,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Info(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Info; } diff --git a/SabreTools.DatItems/Formats/Instance.cs b/SabreTools.DatItems/Formats/Instance.cs index e4b0c798..275ff993 100644 --- a/SabreTools.DatItems/Formats/Instance.cs +++ b/SabreTools.DatItems/Formats/Instance.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Instance.NameKey); - set => _internal[Models.Metadata.Instance.NameKey] = value; - } - /// /// Short name for the instance /// @@ -54,7 +44,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Instance(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Instance; } diff --git a/SabreTools.DatItems/Formats/Media.cs b/SabreTools.DatItems/Formats/Media.cs index 588548c6..ac0914be 100644 --- a/SabreTools.DatItems/Formats/Media.cs +++ b/SabreTools.DatItems/Formats/Media.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Media.NameKey); - set => _internal[Models.Metadata.Media.NameKey] = value; - } - /// /// Data MD5 hash /// @@ -86,7 +76,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Media(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Media; DupeType = 0x00; } @@ -100,7 +90,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Media(); Machine = new Machine(); - Name = baseFile.Filename; + SetName(baseFile.Filename); MD5 = TextHelper.ByteArrayToString(baseFile.MD5); SHA1 = TextHelper.ByteArrayToString(baseFile.SHA1); SHA256 = TextHelper.ByteArrayToString(baseFile.SHA256); @@ -137,7 +127,7 @@ namespace SabreTools.DatItems.Formats { return new BaseFile() { - Filename = this.Name, + Filename = this.GetName(), Parent = this.Machine.Name, MD5 = TextHelper.StringToByteArray(this.MD5), SHA1 = TextHelper.StringToByteArray(this.SHA1), diff --git a/SabreTools.DatItems/Formats/Part.cs b/SabreTools.DatItems/Formats/Part.cs index e4cbb386..9d9c15b0 100644 --- a/SabreTools.DatItems/Formats/Part.cs +++ b/SabreTools.DatItems/Formats/Part.cs @@ -15,13 +15,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Part.NameKey); - set => _internal[Models.Metadata.Part.NameKey] = value; - } - [JsonProperty("interface"), XmlElement("interface")] public string? Interface { @@ -61,7 +54,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Part(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Part; } diff --git a/SabreTools.DatItems/Formats/PartFeature.cs b/SabreTools.DatItems/Formats/PartFeature.cs index b98f5eb2..cda31206 100644 --- a/SabreTools.DatItems/Formats/PartFeature.cs +++ b/SabreTools.DatItems/Formats/PartFeature.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Feature.NameKey); - set => _internal[Models.Metadata.Feature.NameKey] = value; - } - /// /// PartFeature value /// @@ -54,7 +44,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Feature(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.PartFeature; } diff --git a/SabreTools.DatItems/Formats/RamOption.cs b/SabreTools.DatItems/Formats/RamOption.cs index a081d863..e6b4255b 100644 --- a/SabreTools.DatItems/Formats/RamOption.cs +++ b/SabreTools.DatItems/Formats/RamOption.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.RamOption.NameKey); - set => _internal[Models.Metadata.RamOption.NameKey] = value; - } - /// /// Determine whether the RamOption is default /// @@ -67,7 +57,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.RamOption(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.RamOption; } diff --git a/SabreTools.DatItems/Formats/Release.cs b/SabreTools.DatItems/Formats/Release.cs index d502d823..20495b35 100644 --- a/SabreTools.DatItems/Formats/Release.cs +++ b/SabreTools.DatItems/Formats/Release.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Release.NameKey); - set => _internal[Models.Metadata.Release.NameKey] = value; - } - /// /// Release region(s) /// @@ -87,7 +77,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Release(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Release; Region = string.Empty; Language = string.Empty; diff --git a/SabreTools.DatItems/Formats/Rom.cs b/SabreTools.DatItems/Formats/Rom.cs index 1262a55b..2ba6554e 100644 --- a/SabreTools.DatItems/Formats/Rom.cs +++ b/SabreTools.DatItems/Formats/Rom.cs @@ -17,16 +17,6 @@ namespace SabreTools.DatItems.Formats #region Common - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Rom.NameKey); - set => _internal[Models.Metadata.Rom.NameKey] = value; - } - /// /// What BIOS is required for this rom /// @@ -383,7 +373,7 @@ namespace SabreTools.DatItems.Formats get { return DataArea != null - && (!string.IsNullOrEmpty(DataArea.Name) + && (!string.IsNullOrEmpty(DataArea.GetName()) || DataArea.SizeSpecified || DataArea.WidthSpecified || DataArea.EndiannessSpecified); @@ -421,7 +411,7 @@ namespace SabreTools.DatItems.Formats get { return Part != null - && (!string.IsNullOrEmpty(Part.Name) + && (!string.IsNullOrEmpty(Part.GetName()) || !string.IsNullOrEmpty(Part.Interface)); } } @@ -460,7 +450,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Rom(); Machine = new Machine(); - Name = null; + SetName(null); ItemType = ItemType.Rom; DupeType = 0x00; ItemStatus = ItemStatus.None; @@ -475,7 +465,7 @@ namespace SabreTools.DatItems.Formats public Rom(string name, string machineName) { _internal = new Models.Metadata.Rom(); - Name = name; + SetName(name); ItemType = ItemType.Rom; Size = null; ItemStatus = ItemStatus.None; @@ -496,7 +486,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Rom(); Machine = new Machine(); - Name = baseFile.Filename; + SetName(baseFile.Filename); Size = baseFile.Size; CRC = TextHelper.ByteArrayToString(baseFile.CRC); MD5 = TextHelper.ByteArrayToString(baseFile.MD5); @@ -533,7 +523,6 @@ namespace SabreTools.DatItems.Formats { return new Rom() { - Name = this.Name, ItemType = this.ItemType, DupeType = this.DupeType, @@ -552,7 +541,7 @@ namespace SabreTools.DatItems.Formats { return new BaseFile() { - Filename = this.Name, + Filename = this.GetName(), Parent = this.Machine.Name, Date = this.Date, Size = this.Size, diff --git a/SabreTools.DatItems/Formats/Sample.cs b/SabreTools.DatItems/Formats/Sample.cs index 38cf37cd..fe8f606e 100644 --- a/SabreTools.DatItems/Formats/Sample.cs +++ b/SabreTools.DatItems/Formats/Sample.cs @@ -10,20 +10,6 @@ namespace SabreTools.DatItems.Formats [JsonObject("sample"), XmlRoot("sample")] public class Sample : DatItem { - #region Fields - - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Sample.NameKey); - set => _internal[Models.Metadata.Sample.NameKey] = value; - } - - #endregion - #region Accessors /// @@ -44,7 +30,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Sample(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Sample; } diff --git a/SabreTools.DatItems/Formats/SharedFeature.cs b/SabreTools.DatItems/Formats/SharedFeature.cs index 38eac7a1..969bf769 100644 --- a/SabreTools.DatItems/Formats/SharedFeature.cs +++ b/SabreTools.DatItems/Formats/SharedFeature.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.SharedFeat.NameKey); - set => _internal[Models.Metadata.SharedFeat.NameKey] = value; - } - /// /// SharedFeature value /// @@ -54,7 +44,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.SharedFeat(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.SharedFeature; } diff --git a/SabreTools.DatItems/Formats/Slot.cs b/SabreTools.DatItems/Formats/Slot.cs index f01cc4c8..769ac0f2 100644 --- a/SabreTools.DatItems/Formats/Slot.cs +++ b/SabreTools.DatItems/Formats/Slot.cs @@ -14,16 +14,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Name of the item - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.Slot.NameKey); - set => _internal[Models.Metadata.Slot.NameKey] = value; - } - /// /// Slot options associated with the slot /// @@ -59,7 +49,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.Slot(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.Slot; } diff --git a/SabreTools.DatItems/Formats/SlotOption.cs b/SabreTools.DatItems/Formats/SlotOption.cs index a61f6668..03ff6825 100644 --- a/SabreTools.DatItems/Formats/SlotOption.cs +++ b/SabreTools.DatItems/Formats/SlotOption.cs @@ -12,16 +12,6 @@ namespace SabreTools.DatItems.Formats { #region Fields - /// - /// Slot option name - /// - [JsonProperty("name"), XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.SlotOption.NameKey); - set => _internal[Models.Metadata.SlotOption.NameKey] = value; - } - /// /// Referenced device name /// @@ -67,7 +57,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.SlotOption(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.SlotOption; } diff --git a/SabreTools.DatItems/Formats/SoftwareList.cs b/SabreTools.DatItems/Formats/SoftwareList.cs index 10b86cef..714e9d5c 100644 --- a/SabreTools.DatItems/Formats/SoftwareList.cs +++ b/SabreTools.DatItems/Formats/SoftwareList.cs @@ -28,17 +28,6 @@ namespace SabreTools.DatItems.Formats set => _internal[Models.Metadata.SoftwareList.TagKey] = value; } - /// - /// Name of the item - /// - [JsonProperty("name")] - [XmlElement("name")] - public string? Name - { - get => _internal.ReadString(Models.Metadata.SoftwareList.NameKey); - set => _internal[Models.Metadata.SoftwareList.NameKey] = value; - } - /// /// Status of the softare list according to the machine /// @@ -87,7 +76,7 @@ namespace SabreTools.DatItems.Formats _internal = new Models.Metadata.SoftwareList(); Machine = new Machine(); - Name = string.Empty; + SetName(string.Empty); ItemType = ItemType.SoftwareList; } diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs index b6961489..143a6113 100644 --- a/SabreTools.DatTools/Rebuilder.cs +++ b/SabreTools.DatTools/Rebuilder.cs @@ -547,8 +547,8 @@ namespace SabreTools.DatTools // Get the item from the current file Rom item = new(BaseFile.GetInfo(stream, keepReadOpen: true)); - item.Machine.Name = Path.GetFileNameWithoutExtension(item.Name); - item.Machine.Description = Path.GetFileNameWithoutExtension(item.Name); + item.Machine.Name = Path.GetFileNameWithoutExtension(item.GetName()); + item.Machine.Description = Path.GetFileNameWithoutExtension(item.GetName()); // If we are coming from an archive, set the correct machine name if (machinename != null) diff --git a/SabreTools.Filtering/Splitter.cs b/SabreTools.Filtering/Splitter.cs index 333d3f1b..6cf8d1f2 100644 --- a/SabreTools.Filtering/Splitter.cs +++ b/SabreTools.Filtering/Splitter.cs @@ -301,7 +301,7 @@ namespace SabreTools.Filtering List deviceReferences = datFile.Items[machine]! .Where(i => i.ItemType == ItemType.DeviceReference) .Select(i => i as DeviceReference) - .Select(dr => dr!.Name) + .Select(dr => dr!.GetName()) .Distinct() .ToList(); @@ -333,7 +333,7 @@ namespace SabreTools.Filtering newDeviceReferences.AddRange(devItems .Where(i => i.ItemType == ItemType.DeviceReference) - .Select(i => (i as DeviceReference)!.Name!)); + .Select(i => (i as DeviceReference)!.GetName()!)); // Set new machine information and add to the current machine DatItem copyFrom = datFile.Items[machine]![0]; @@ -357,7 +357,11 @@ namespace SabreTools.Filtering foreach (string deviceReference in newDeviceReferences.Distinct()) { if (!deviceReferences.Contains(deviceReference)) - datFile.Items[machine]!.Add(new DeviceReference() { Name = deviceReference }); + { + var deviceRef = new DeviceReference(); + deviceRef.SetName(deviceReference); + datFile.Items[machine]!.Add(deviceRef); + } } } @@ -511,13 +515,13 @@ namespace SabreTools.Filtering Disk disk = (item as Disk)!; // If the merge tag exists and the parent already contains it, skip - if (disk.MergeTag != null && datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Disk).Select(i => (i as Disk)!.Name).Contains(disk.MergeTag)) + if (disk.MergeTag != null && datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Disk).Select(i => (i as Disk)!.GetName()).Contains(disk.MergeTag)) { continue; } // If the merge tag exists but the parent doesn't contain it, add to parent - else if (disk.MergeTag != null && !datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Disk).Select(i => (i as Disk)!.Name).Contains(disk.MergeTag)) + else if (disk.MergeTag != null && !datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Disk).Select(i => (i as Disk)!.GetName()).Contains(disk.MergeTag)) { disk.CopyMachineInformation(copyFrom); datFile.Items.Add(parent!, disk); @@ -537,16 +541,16 @@ namespace SabreTools.Filtering Rom rom = (item as Rom)!; // If the merge tag exists and the parent already contains it, skip - if (rom.MergeTag != null && datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Rom).Select(i => (i as Rom)!.Name).Contains(rom.MergeTag)) + if (rom.MergeTag != null && datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Rom).Select(i => (i as Rom)!.GetName()).Contains(rom.MergeTag)) { continue; } // If the merge tag exists but the parent doesn't contain it, add to subfolder of parent - else if (rom.MergeTag != null && !datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Rom).Select(i => (i as Rom)!.Name).Contains(rom.MergeTag)) + else if (rom.MergeTag != null && !datFile.Items[parent!]!.Where(i => i.ItemType == ItemType.Rom).Select(i => (i as Rom)!.GetName()).Contains(rom.MergeTag)) { if (subfolder) - rom.Name = $"{rom.Machine.Name}\\{rom.Name}"; + rom.SetName($"{rom.Machine.Name}\\{rom.GetName()}"); rom.CopyMachineInformation(copyFrom); datFile.Items.Add(parent!, rom); @@ -556,7 +560,7 @@ namespace SabreTools.Filtering else if (!datFile.Items[parent!]!.Contains(item) || skipDedup) { if (subfolder) - rom.Name = $"{item.Machine.Name}\\{rom.Name}"; + rom.SetName($"{item.Machine.Name}\\{rom.GetName()}"); rom.CopyMachineInformation(copyFrom); datFile.Items.Add(parent!, rom); diff --git a/SabreTools.Test/DatFiles/ItemDictionaryTests.cs b/SabreTools.Test/DatFiles/ItemDictionaryTests.cs index 8791ee05..0187e006 100644 --- a/SabreTools.Test/DatFiles/ItemDictionaryTests.cs +++ b/SabreTools.Test/DatFiles/ItemDictionaryTests.cs @@ -20,8 +20,8 @@ namespace SabreTools.Test.DatFiles // Setup the dictionary var dict = new ItemDictionary { - ["game-1"] = new ConcurrentList - { + ["game-1"] = + [ new Rom { Name = "rom-1", @@ -38,7 +38,7 @@ namespace SabreTools.Test.DatFiles SHA1 = "000000e948edcb4f7704b8af85a77a3339ecce44", Machine = new Machine { Name = "game-1" }, }, - }, + ], ["game-2"] = new ConcurrentList { new Rom