Be more explicit about per-type missing fields

This commit is contained in:
Matt Nadareski
2026-04-05 10:22:44 -04:00
parent 742c991deb
commit 83407133d6
19 changed files with 68 additions and 77 deletions

View File

@@ -821,7 +821,6 @@ namespace SabreTools.Metadata.DatFiles
// Set the item name back to the datItem
datItem.SetName(datItemName);
output.Add(datItem);
}

View File

@@ -28,9 +28,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case DatItems.Formats.Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
break;
default:
// Item type is not supported
break;
}
return missingFields;
}

View File

@@ -29,13 +29,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (rom.Size is null || rom.Size < 0)
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
// if (string.IsNullOrEmpty(rom.Date))

View File

@@ -29,13 +29,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA256))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA256));
if (string.IsNullOrEmpty(rom.SHA1))

View File

@@ -30,13 +30,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Disk disk:
if (string.IsNullOrEmpty(disk.Name))
missingFields.Add(nameof(Data.Models.Metadata.Disk.Name));
if (string.IsNullOrEmpty(disk.MD5)
&& string.IsNullOrEmpty(disk.SHA1))
{
@@ -46,6 +44,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (rom.Size is null || rom.Size < 0)
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
if (string.IsNullOrEmpty(rom.CRC))

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.MD2))
missingFields.Add(nameof(Data.Models.Metadata.Rom.MD2));
break;

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.MD4))
missingFields.Add(nameof(Data.Models.Metadata.Rom.MD4));
break;

View File

@@ -33,23 +33,25 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Disk disk:
if (string.IsNullOrEmpty(disk.Name))
missingFields.Add(nameof(Data.Models.Metadata.Disk.Name));
if (string.IsNullOrEmpty(disk.MD5))
missingFields.Add(nameof(Data.Models.Metadata.Disk.MD5));
break;
case Media medium:
if (string.IsNullOrEmpty(medium.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(medium.MD5))
missingFields.Add(nameof(Data.Models.Metadata.Media.MD5));
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.MD5))
missingFields.Add(nameof(Data.Models.Metadata.Rom.MD5));
break;

View File

@@ -68,13 +68,11 @@ The softwaredb.xml file contains information about rom mapper types
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA1))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA1));
break;

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.RIPEMD128))
missingFields.Add(nameof(Data.Models.Metadata.Rom.RIPEMD128));
break;

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.RIPEMD160))
missingFields.Add(nameof(Data.Models.Metadata.Rom.RIPEMD160));
break;

View File

@@ -29,13 +29,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.CRC))
missingFields.Add(nameof(Data.Models.Metadata.Rom.CRC));
if (rom.Size is null || rom.Size < 0)

View File

@@ -66,13 +66,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Disk disk:
if (string.IsNullOrEmpty(disk.Name))
missingFields.Add(nameof(Data.Models.Metadata.Disk.Name));
if (string.IsNullOrEmpty(disk.MD5)
&& string.IsNullOrEmpty(disk.SHA1))
{
@@ -81,11 +79,13 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Media media:
if (string.IsNullOrEmpty(media.MD5)
&& string.IsNullOrEmpty(media.SHA1)
&& string.IsNullOrEmpty(media.SHA256)
&& string.IsNullOrEmpty(media.SpamSum))
case Media medium:
if (string.IsNullOrEmpty(medium.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(medium.MD5)
&& string.IsNullOrEmpty(medium.SHA1)
&& string.IsNullOrEmpty(medium.SHA256)
&& string.IsNullOrEmpty(medium.SpamSum))
{
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1));
}
@@ -93,6 +93,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (rom.Size is null || rom.Size < 0)
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
if (string.IsNullOrEmpty(rom.CRC)

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.CRC))
missingFields.Add(nameof(Data.Models.Metadata.Rom.CRC));
break;

View File

@@ -33,23 +33,25 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Disk disk:
if (string.IsNullOrEmpty(disk.Name))
missingFields.Add(nameof(Data.Models.Metadata.Disk.Name));
if (string.IsNullOrEmpty(disk.SHA1))
missingFields.Add(nameof(Data.Models.Metadata.Disk.SHA1));
break;
case Media medium:
if (string.IsNullOrEmpty(medium.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(medium.SHA1))
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1));
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA1))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA1));
break;

View File

@@ -32,18 +32,18 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Media medium:
if (string.IsNullOrEmpty(medium.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(medium.SHA256))
missingFields.Add(nameof(Data.Models.Metadata.Media.SHA256));
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA256))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA256));
break;

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA384))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA384));
break;

View File

@@ -31,13 +31,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SHA512))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SHA512));
break;

View File

@@ -32,18 +32,18 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
// Check item name
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
switch (datItem)
{
case Media medium:
if (string.IsNullOrEmpty(medium.Name))
missingFields.Add(nameof(Data.Models.Metadata.Media.Name));
if (string.IsNullOrEmpty(medium.SpamSum))
missingFields.Add(nameof(Data.Models.Metadata.Media.SpamSum));
break;
case Rom rom:
if (string.IsNullOrEmpty(rom.Name))
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
if (string.IsNullOrEmpty(rom.SpamSum))
missingFields.Add(nameof(Data.Models.Metadata.Rom.SpamSum));
break;