mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Remove DatItemField enum
This commit is contained in:
@@ -568,7 +568,7 @@ namespace SabreTools.DatFiles
|
||||
/// Return list of required fields missing from a DatItem
|
||||
/// </summary>
|
||||
/// <returns>List of missing required fields, null or empty if none were found</returns>
|
||||
protected virtual List<DatItemField>? GetMissingRequiredFields(DatItem datItem) => null;
|
||||
protected virtual List<string>? GetMissingRequiredFields(DatItem datItem) => null;
|
||||
|
||||
/// <summary>
|
||||
/// Get if a machine contains any writable items
|
||||
@@ -643,12 +643,12 @@ namespace SabreTools.DatFiles
|
||||
}
|
||||
|
||||
// If we have an item with missing required fields
|
||||
List<DatItemField>? missingFields = GetMissingRequiredFields(datItem);
|
||||
List<string>? missingFields = GetMissingRequiredFields(datItem);
|
||||
if (missingFields != null && missingFields.Count != 0)
|
||||
{
|
||||
string itemString = JsonConvert.SerializeObject(datItem, Formatting.None);
|
||||
#if NET20 || NET35
|
||||
logger?.Verbose($"Item '{itemString}' was skipped because it was missing required fields for {Header?.DatFormat}: {string.Join(", ", missingFields.Select(f => f.ToString()).ToArray())}");
|
||||
logger?.Verbose($"Item '{itemString}' was skipped because it was missing required fields for {Header?.DatFormat}: {string.Join(", ", [.. missingFields])}");
|
||||
#else
|
||||
logger?.Verbose($"Item '{itemString}' was skipped because it was missing required fields for {Header?.DatFormat}: {string.Join(", ", missingFields)}");
|
||||
#endif
|
||||
|
||||
@@ -22,24 +22,24 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC)
|
||||
&& string.IsNullOrEmpty(rom.MD5)
|
||||
&& string.IsNullOrEmpty(rom.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -22,13 +22,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
return missingFields;
|
||||
}
|
||||
|
||||
@@ -35,30 +35,30 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
switch (datItem)
|
||||
{
|
||||
case Release release:
|
||||
if (string.IsNullOrEmpty(release.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Release.NameKey);
|
||||
if (string.IsNullOrEmpty(release.Region))
|
||||
missingFields.Add(DatItemField.Region);
|
||||
missingFields.Add(Models.Metadata.Release.RegionKey);
|
||||
break;
|
||||
|
||||
case BiosSet biosset:
|
||||
if (string.IsNullOrEmpty(biosset.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.BiosSet.NameKey);
|
||||
if (string.IsNullOrEmpty(biosset.Description))
|
||||
missingFields.Add(DatItemField.Description);
|
||||
missingFields.Add(Models.Metadata.BiosSet.DescriptionKey);
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC)
|
||||
&& string.IsNullOrEmpty(rom.MD5)
|
||||
&& string.IsNullOrEmpty(rom.SHA1)
|
||||
@@ -67,66 +67,66 @@ namespace SabreTools.DatFiles.Formats
|
||||
&& string.IsNullOrEmpty(rom.SHA512)
|
||||
&& string.IsNullOrEmpty(rom.SpamSum))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Disk disk:
|
||||
if (string.IsNullOrEmpty(disk.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Disk.NameKey);
|
||||
if (string.IsNullOrEmpty(disk.MD5)
|
||||
&& string.IsNullOrEmpty(disk.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Sample sample:
|
||||
if (string.IsNullOrEmpty(sample.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Sample.NameKey);
|
||||
break;
|
||||
|
||||
case Archive archive:
|
||||
if (string.IsNullOrEmpty(archive.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Archive.NameKey);
|
||||
break;
|
||||
|
||||
case Chip chip:
|
||||
if (!chip.ChipTypeSpecified)
|
||||
missingFields.Add(DatItemField.ChipType);
|
||||
missingFields.Add(Models.Metadata.Chip.ChipTypeKey);
|
||||
if (string.IsNullOrEmpty(chip.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Chip.NameKey);
|
||||
break;
|
||||
|
||||
case Display display:
|
||||
if (!display.DisplayTypeSpecified)
|
||||
missingFields.Add(DatItemField.DisplayType);
|
||||
missingFields.Add(Models.Metadata.Display.DisplayTypeKey);
|
||||
if (!display.RotateSpecified)
|
||||
missingFields.Add(DatItemField.Rotate);
|
||||
missingFields.Add(Models.Metadata.Display.RotateKey);
|
||||
break;
|
||||
|
||||
case Sound sound:
|
||||
if (!sound.ChannelsSpecified)
|
||||
missingFields.Add(DatItemField.Channels);
|
||||
missingFields.Add(Models.Metadata.Sound.ChannelsKey);
|
||||
break;
|
||||
|
||||
case Input input:
|
||||
if (!input.PlayersSpecified)
|
||||
missingFields.Add(DatItemField.Players);
|
||||
missingFields.Add(Models.Metadata.Input.PlayersKey);
|
||||
if (!input.ControlsSpecified)
|
||||
missingFields.Add(DatItemField.Control_Buttons);
|
||||
missingFields.Add(Models.Metadata.Input.ControlKey);
|
||||
break;
|
||||
|
||||
case DipSwitch dipswitch:
|
||||
if (string.IsNullOrEmpty(dipswitch.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.NameKey);
|
||||
break;
|
||||
|
||||
case Driver driver:
|
||||
if (!driver.StatusSpecified)
|
||||
missingFields.Add(DatItemField.SupportStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.StatusKey);
|
||||
if (!driver.EmulationSpecified)
|
||||
missingFields.Add(DatItemField.EmulationStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.EmulationKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,23 +22,23 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (!rom.SizeSpecified)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
// if (string.IsNullOrEmpty(rom.Date))
|
||||
// missingFields.Add(DatItemField.Date);
|
||||
// missingFields.Add(Models.Metadata.Rom.DateKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC))
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,25 +22,25 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.SHA256))
|
||||
missingFields.Add(DatItemField.SHA256);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA256Key);
|
||||
if (string.IsNullOrEmpty(rom.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
if (string.IsNullOrEmpty(rom.MD5))
|
||||
missingFields.Add(DatItemField.MD5);
|
||||
missingFields.Add(Models.Metadata.Rom.MD5Key);
|
||||
if (string.IsNullOrEmpty(rom.CRC))
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
// Check hash linked to specific Hashfile type
|
||||
switch (_hash)
|
||||
@@ -41,10 +41,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.CRC))
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -53,18 +53,18 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Disk:
|
||||
if (string.IsNullOrEmpty((datItem as Disk)?.MD5))
|
||||
missingFields.Add(DatItemField.MD5);
|
||||
missingFields.Add(Models.Metadata.Disk.MD5Key);
|
||||
break;
|
||||
case ItemType.Media:
|
||||
if (string.IsNullOrEmpty((datItem as Media)?.MD5))
|
||||
missingFields.Add(DatItemField.MD5);
|
||||
missingFields.Add(Models.Metadata.Media.MD5Key);
|
||||
break;
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.MD5))
|
||||
missingFields.Add(DatItemField.MD5);
|
||||
missingFields.Add(Models.Metadata.Rom.MD5Key);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.MD5);
|
||||
missingFields.Add(Models.Metadata.Rom.MD5Key);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -73,18 +73,18 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Disk:
|
||||
if (string.IsNullOrEmpty((datItem as Disk)?.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
break;
|
||||
case ItemType.Media:
|
||||
if (string.IsNullOrEmpty((datItem as Media)?.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Media.SHA1Key);
|
||||
break;
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -93,14 +93,14 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Media:
|
||||
if (string.IsNullOrEmpty((datItem as Media)?.SHA256))
|
||||
missingFields.Add(DatItemField.SHA256);
|
||||
missingFields.Add(Models.Metadata.Media.SHA256Key);
|
||||
break;
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.SHA256))
|
||||
missingFields.Add(DatItemField.SHA256);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA256Key);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.SHA256);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA256Key);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -109,10 +109,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.SHA384))
|
||||
missingFields.Add(DatItemField.SHA384);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA384Key);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.SHA384);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA384Key);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -121,10 +121,10 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.SHA512))
|
||||
missingFields.Add(DatItemField.SHA512);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA512Key);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.SHA512);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA512Key);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -133,14 +133,14 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
case ItemType.Media:
|
||||
if (string.IsNullOrEmpty((datItem as Media)?.SpamSum))
|
||||
missingFields.Add(DatItemField.SpamSum);
|
||||
missingFields.Add(Models.Metadata.Media.SpamSumKey);
|
||||
break;
|
||||
case ItemType.Rom:
|
||||
if (string.IsNullOrEmpty((datItem as Rom)?.SpamSum))
|
||||
missingFields.Add(DatItemField.SpamSum);
|
||||
missingFields.Add(Models.Metadata.Rom.SpamSumKey);
|
||||
break;
|
||||
default:
|
||||
missingFields.Add(DatItemField.SpamSum);
|
||||
missingFields.Add(Models.Metadata.Rom.SpamSumKey);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -23,13 +23,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
@@ -37,17 +37,17 @@ namespace SabreTools.DatFiles.Formats
|
||||
if (string.IsNullOrEmpty(disk.MD5)
|
||||
&& string.IsNullOrEmpty(disk.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC))
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
if (string.IsNullOrEmpty(rom.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,136 +42,136 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
switch (datItem)
|
||||
{
|
||||
case BiosSet biosset:
|
||||
if (string.IsNullOrEmpty(biosset.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.BiosSet.NameKey);
|
||||
if (string.IsNullOrEmpty(biosset.Description))
|
||||
missingFields.Add(DatItemField.Description);
|
||||
missingFields.Add(Models.Metadata.BiosSet.DescriptionKey);
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC)
|
||||
&& string.IsNullOrEmpty(rom.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Disk disk:
|
||||
if (string.IsNullOrEmpty(disk.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Disk.NameKey);
|
||||
if (string.IsNullOrEmpty(disk.MD5)
|
||||
&& string.IsNullOrEmpty(disk.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case DeviceReference deviceref:
|
||||
if (string.IsNullOrEmpty(deviceref.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.DeviceRef.NameKey);
|
||||
break;
|
||||
|
||||
case Sample sample:
|
||||
if (string.IsNullOrEmpty(sample.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Sample.NameKey);
|
||||
break;
|
||||
|
||||
case Chip chip:
|
||||
if (string.IsNullOrEmpty(chip.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Chip.NameKey);
|
||||
if (!chip.ChipTypeSpecified)
|
||||
missingFields.Add(DatItemField.ChipType);
|
||||
missingFields.Add(Models.Metadata.Chip.ChipTypeKey);
|
||||
break;
|
||||
|
||||
case Display display:
|
||||
if (!display.DisplayTypeSpecified)
|
||||
missingFields.Add(DatItemField.DisplayType);
|
||||
missingFields.Add(Models.Metadata.Display.DisplayTypeKey);
|
||||
if (display.Refresh == null)
|
||||
missingFields.Add(DatItemField.Refresh);
|
||||
missingFields.Add(Models.Metadata.Display.RefreshKey);
|
||||
break;
|
||||
|
||||
case Sound sound:
|
||||
if (sound.Channels == null)
|
||||
missingFields.Add(DatItemField.Channels);
|
||||
missingFields.Add(Models.Metadata.Sound.ChannelsKey);
|
||||
break;
|
||||
|
||||
case Input input:
|
||||
if (input.Players == null)
|
||||
missingFields.Add(DatItemField.Players);
|
||||
missingFields.Add(Models.Metadata.Input.PlayersKey);
|
||||
break;
|
||||
|
||||
case DipSwitch dipswitch:
|
||||
if (string.IsNullOrEmpty(dipswitch.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.NameKey);
|
||||
if (string.IsNullOrEmpty(dipswitch.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.TagKey);
|
||||
break;
|
||||
|
||||
case Configuration configuration:
|
||||
if (string.IsNullOrEmpty(configuration.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Configuration.NameKey);
|
||||
if (string.IsNullOrEmpty(configuration.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.Configuration.TagKey);
|
||||
break;
|
||||
|
||||
case Port port:
|
||||
if (string.IsNullOrEmpty(port.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.Port.TagKey);
|
||||
break;
|
||||
|
||||
case Adjuster adjuster:
|
||||
if (string.IsNullOrEmpty(adjuster.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Adjuster.NameKey);
|
||||
break;
|
||||
|
||||
case Driver driver:
|
||||
if (!driver.StatusSpecified)
|
||||
missingFields.Add(DatItemField.SupportStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.StatusKey);
|
||||
if (!driver.EmulationSpecified)
|
||||
missingFields.Add(DatItemField.EmulationStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.EmulationKey);
|
||||
if (!driver.CocktailSpecified)
|
||||
missingFields.Add(DatItemField.CocktailStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.CocktailKey);
|
||||
if (!driver.SaveStateSpecified)
|
||||
missingFields.Add(DatItemField.SaveStateStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.SaveStateKey);
|
||||
break;
|
||||
|
||||
case Feature feature:
|
||||
if (!feature.TypeSpecified)
|
||||
missingFields.Add(DatItemField.FeatureType);
|
||||
missingFields.Add(Models.Metadata.Feature.FeatureTypeKey);
|
||||
break;
|
||||
|
||||
case Device device:
|
||||
if (!device.DeviceTypeSpecified)
|
||||
missingFields.Add(DatItemField.DeviceType);
|
||||
missingFields.Add(Models.Metadata.Device.DeviceTypeKey);
|
||||
break;
|
||||
|
||||
case Slot slot:
|
||||
if (string.IsNullOrEmpty(slot.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Slot.NameKey);
|
||||
break;
|
||||
|
||||
case DatItems.Formats.SoftwareList softwarelist:
|
||||
if (string.IsNullOrEmpty(softwarelist.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.TagKey);
|
||||
if (string.IsNullOrEmpty(softwarelist.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.NameKey);
|
||||
if (!softwarelist.StatusSpecified)
|
||||
missingFields.Add(DatItemField.SoftwareListStatus);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.StatusKey);
|
||||
break;
|
||||
|
||||
case RamOption ramoption:
|
||||
if (string.IsNullOrEmpty(ramoption.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.RamOption.NameKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,30 +29,30 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
switch (datItem)
|
||||
{
|
||||
case Release release:
|
||||
if (string.IsNullOrEmpty(release.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Release.NameKey);
|
||||
if (string.IsNullOrEmpty(release.Region))
|
||||
missingFields.Add(DatItemField.Region);
|
||||
missingFields.Add(Models.Metadata.Release.RegionKey);
|
||||
break;
|
||||
|
||||
case BiosSet biosset:
|
||||
if (string.IsNullOrEmpty(biosset.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.BiosSet.NameKey);
|
||||
if (string.IsNullOrEmpty(biosset.Description))
|
||||
missingFields.Add(DatItemField.Description);
|
||||
missingFields.Add(Models.Metadata.BiosSet.DescriptionKey);
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC)
|
||||
&& string.IsNullOrEmpty(rom.MD5)
|
||||
&& string.IsNullOrEmpty(rom.SHA1)
|
||||
@@ -61,65 +61,65 @@ namespace SabreTools.DatFiles.Formats
|
||||
&& string.IsNullOrEmpty(rom.SHA512)
|
||||
&& string.IsNullOrEmpty(rom.SpamSum))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Disk disk:
|
||||
if (string.IsNullOrEmpty(disk.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Disk.NameKey);
|
||||
if (string.IsNullOrEmpty(disk.MD5)
|
||||
&& string.IsNullOrEmpty(disk.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Media media:
|
||||
if (string.IsNullOrEmpty(media.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Media.NameKey);
|
||||
if (string.IsNullOrEmpty(media.MD5)
|
||||
&& string.IsNullOrEmpty(media.SHA1)
|
||||
&& string.IsNullOrEmpty(media.SHA256)
|
||||
&& string.IsNullOrEmpty(media.SpamSum))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Media.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case DeviceReference deviceref:
|
||||
if (string.IsNullOrEmpty(deviceref.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.DeviceRef.NameKey);
|
||||
break;
|
||||
|
||||
case Sample sample:
|
||||
if (string.IsNullOrEmpty(sample.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Sample.NameKey);
|
||||
break;
|
||||
|
||||
case Archive archive:
|
||||
if (string.IsNullOrEmpty(archive.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Archive.NameKey);
|
||||
break;
|
||||
|
||||
case Driver driver:
|
||||
if (!driver.StatusSpecified)
|
||||
missingFields.Add(DatItemField.SupportStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.StatusKey);
|
||||
if (!driver.EmulationSpecified)
|
||||
missingFields.Add(DatItemField.EmulationStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.EmulationKey);
|
||||
if (!driver.CocktailSpecified)
|
||||
missingFields.Add(DatItemField.CocktailStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.CocktailKey);
|
||||
if (!driver.SaveStateSpecified)
|
||||
missingFields.Add(DatItemField.SaveStateStatus);
|
||||
missingFields.Add(Models.Metadata.Driver.SaveStateKey);
|
||||
break;
|
||||
|
||||
case DatItems.Formats.SoftwareList softwarelist:
|
||||
if (string.IsNullOrEmpty(softwarelist.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.TagKey);
|
||||
if (string.IsNullOrEmpty(softwarelist.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.NameKey);
|
||||
if (!softwarelist.StatusSpecified)
|
||||
missingFields.Add(DatItemField.SoftwareListStatus);
|
||||
missingFields.Add(Models.Metadata.SoftwareList.StatusKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
internal partial class Missfile : DatFile
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
// TODO: Check required fields
|
||||
return null;
|
||||
|
||||
@@ -22,22 +22,20 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
}
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,18 +22,18 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.SHA1))
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,21 +22,21 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.CRC))
|
||||
missingFields.Add(DatItemField.CRC);
|
||||
missingFields.Add(Models.Metadata.Rom.CRCKey);
|
||||
if (!rom.SizeSpecified)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
List<DatItemField> missingFields = [];
|
||||
var missingFields = new List<string>();
|
||||
|
||||
// Check item name
|
||||
if (string.IsNullOrEmpty(datItem.GetName()))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Rom.NameKey);
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
@@ -39,13 +39,13 @@ namespace SabreTools.DatFiles.Formats
|
||||
if (string.IsNullOrEmpty(disk.MD5)
|
||||
&& string.IsNullOrEmpty(disk.SHA1))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Disk.SHA1Key);
|
||||
}
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (rom.Size == null || rom.Size < 0)
|
||||
missingFields.Add(DatItemField.Size);
|
||||
missingFields.Add(Models.Metadata.Rom.SizeKey);
|
||||
if (string.IsNullOrEmpty(rom.CRC)
|
||||
&& string.IsNullOrEmpty(rom.MD5)
|
||||
&& string.IsNullOrEmpty(rom.SHA1)
|
||||
@@ -54,7 +54,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
&& string.IsNullOrEmpty(rom.SHA512)
|
||||
&& string.IsNullOrEmpty(rom.SpamSum))
|
||||
{
|
||||
missingFields.Add(DatItemField.SHA1);
|
||||
missingFields.Add(Models.Metadata.Rom.SHA1Key);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -27,37 +27,37 @@ namespace SabreTools.DatFiles.Formats
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override List<DatItemField>? GetMissingRequiredFields(DatItem datItem)
|
||||
protected override List<string>? GetMissingRequiredFields(DatItem datItem)
|
||||
{
|
||||
var missingFields = new List<DatItemField>();
|
||||
var missingFields = new List<string>();
|
||||
|
||||
switch (datItem)
|
||||
{
|
||||
case DipSwitch dipSwitch:
|
||||
if (!dipSwitch.PartSpecified)
|
||||
{
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(dipSwitch.Part!.Name))
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
if (string.IsNullOrEmpty(dipSwitch.Part.Interface))
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
if (string.IsNullOrEmpty(dipSwitch.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.NameKey);
|
||||
if (string.IsNullOrEmpty(dipSwitch.Tag))
|
||||
missingFields.Add(DatItemField.Tag);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.TagKey);
|
||||
if (string.IsNullOrEmpty(dipSwitch.Mask))
|
||||
missingFields.Add(DatItemField.Mask);
|
||||
missingFields.Add(Models.Metadata.DipSwitch.MaskKey);
|
||||
if (dipSwitch.ValuesSpecified)
|
||||
{
|
||||
if (dipSwitch.Values!.Any(dv => string.IsNullOrEmpty(dv.Name)))
|
||||
missingFields.Add(DatItemField.Part_Feature_Name);
|
||||
missingFields.Add(Models.Metadata.DipValue.NameKey);
|
||||
if (dipSwitch.Values!.Any(dv => string.IsNullOrEmpty(dv.Value)))
|
||||
missingFields.Add(DatItemField.Part_Feature_Value);
|
||||
missingFields.Add(Models.Metadata.DipValue.ValueKey);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -65,64 +65,64 @@ namespace SabreTools.DatFiles.Formats
|
||||
case Disk disk:
|
||||
if (!disk.PartSpecified)
|
||||
{
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(disk.Part!.Name))
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
if (string.IsNullOrEmpty(disk.Part.Interface))
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
if (!disk.DiskAreaSpecified)
|
||||
{
|
||||
missingFields.Add(DatItemField.AreaName);
|
||||
missingFields.Add(Models.Metadata.DiskArea.NameKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(disk.DiskArea!.Name))
|
||||
missingFields.Add(DatItemField.AreaName);
|
||||
missingFields.Add(Models.Metadata.DiskArea.NameKey);
|
||||
}
|
||||
if (string.IsNullOrEmpty(disk.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Disk.NameKey);
|
||||
break;
|
||||
|
||||
case Info info:
|
||||
if (string.IsNullOrEmpty(info.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.Info.NameKey);
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (!rom.PartSpecified)
|
||||
{
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(rom.Part!.Name))
|
||||
missingFields.Add(DatItemField.Part_Name);
|
||||
missingFields.Add(Models.Metadata.Part.NameKey);
|
||||
if (string.IsNullOrEmpty(rom.Part.Interface))
|
||||
missingFields.Add(DatItemField.Part_Interface);
|
||||
missingFields.Add(Models.Metadata.Part.InterfaceKey);
|
||||
}
|
||||
if (!rom.DataAreaSpecified)
|
||||
{
|
||||
missingFields.Add(DatItemField.AreaName);
|
||||
missingFields.Add(DatItemField.AreaSize);
|
||||
missingFields.Add(Models.Metadata.DataArea.NameKey);
|
||||
missingFields.Add(Models.Metadata.DataArea.SizeKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(rom.DataArea!.Name))
|
||||
missingFields.Add(DatItemField.AreaName);
|
||||
missingFields.Add(Models.Metadata.DataArea.NameKey);
|
||||
if (!rom.DataArea.SizeSpecified)
|
||||
missingFields.Add(DatItemField.AreaSize);
|
||||
missingFields.Add(Models.Metadata.DataArea.SizeKey);
|
||||
}
|
||||
break;
|
||||
|
||||
case SharedFeature sharedFeat:
|
||||
if (string.IsNullOrEmpty(sharedFeat.Name))
|
||||
missingFields.Add(DatItemField.Name);
|
||||
missingFields.Add(Models.Metadata.SharedFeat.NameKey);
|
||||
break;
|
||||
default:
|
||||
// Unsupported ItemTypes should be caught already
|
||||
|
||||
Reference in New Issue
Block a user