Remove DatItemField enum

This commit is contained in:
Matt Nadareski
2024-03-05 23:41:00 -05:00
parent e90c74e145
commit b9f6a6862d
23 changed files with 232 additions and 792 deletions

View File

@@ -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;
}