Create Required attribute and tag properties

This commit is contained in:
Matt Nadareski
2023-08-10 12:09:29 -04:00
parent 1557882fe1
commit fb81fd0243
89 changed files with 316 additions and 155 deletions

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("archive")]
public class Archive
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("biosset")]
public class BiosSet
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("description")]
public string Description { get; set; }
public string? Description { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("default")]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("device_ref")]
public class DeviceRef
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("dir")]
public class Dir
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlElement("game", typeof(Game))]
[XmlElement("machine", typeof(Machine))]

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("disk")]
public class Disk
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }

View File

@@ -7,20 +7,24 @@ namespace SabreTools.Models.Logiqx
public class Driver
{
/// <remarks>(good|imperfect|preliminary)</remarks>
[Required]
[XmlAttribute("status")]
public string Status { get; set; }
public string? Status { get; set; }
/// <remarks>(good|imperfect|preliminary)</remarks>
[Required]
[XmlAttribute("emulation")]
public string Emulation { get; set; }
public string? Emulation { get; set; }
/// <remarks>(good|imperfect|preliminary)</remarks>
[Required]
[XmlAttribute("cocktail")]
public string Cocktail { get; set; }
public string? Cocktail { get; set; }
/// <remarks>(supported|unsupported)</remarks>
[Required]
[XmlAttribute("savestate")]
public string SaveState { get; set; }
public string? SaveState { get; set; }
/// <remarks>(yes|no) "no"</remarks>
[XmlAttribute("requiresartwork")]

View File

@@ -8,8 +8,9 @@ namespace SabreTools.Models.Logiqx
/// </summary>
public abstract class GameBase
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("sourcefile")]
public string? SourceFile { get; set; }
@@ -56,8 +57,9 @@ namespace SabreTools.Models.Logiqx
[XmlElement("comment")]
public string[]? Comment { get; set; }
[Required]
[XmlElement("description")]
public string Description { get; set; }
public string? Description { get; set; }
[XmlElement("year")]
public string? Year { get; set; }

View File

@@ -10,11 +10,13 @@ namespace SabreTools.Models.Logiqx
[XmlElement("id")]
public string? Id { get; set; }
[Required]
[XmlElement("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlElement("description")]
public string Description { get; set; }
public string? Description { get; set; }
/// <remarks>Trurip extension</remarks>
[XmlElement("rootdir")]
@@ -23,14 +25,16 @@ namespace SabreTools.Models.Logiqx
[XmlElement("category")]
public string? Category { get; set; }
[Required]
[XmlElement("version")]
public string Version { get; set; }
public string? Version { get; set; }
[XmlElement("date")]
public string? Date { get; set; }
[Required]
[XmlElement("author")]
public string Author { get; set; }
public string? Author { get; set; }
[XmlElement("email")]
public string? Email { get; set; }

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("media")]
public class Media
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[XmlAttribute("md5")]
public string? MD5 { get; set; }

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("release")]
public class Release
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("region")]
public string Region { get; set; }
public string? Region { get; set; }
[XmlAttribute("language")]
public string? Language { get; set; }

View File

@@ -6,11 +6,13 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("rom")]
public class Rom
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
[Required]
[XmlAttribute("size")]
public string Size { get; set; }
public string? Size { get; set; }
[XmlAttribute("crc")]
public string? CRC { get; set; }

View File

@@ -6,8 +6,9 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("sample")]
public class Sample
{
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
#region DO NOT USE IN PRODUCTION

View File

@@ -6,15 +6,18 @@ namespace SabreTools.Models.Logiqx
[XmlRoot("softwarelist")]
public class SoftwareList
{
[Required]
[XmlAttribute("tag")]
public string Tag { get; set; }
public string? Tag { get; set; }
[Required]
[XmlAttribute("name")]
public string Name { get; set; }
public string? Name { get; set; }
/// <remarks>(original|compatible)</remarks>
[Required]
[XmlAttribute("status")]
public string Status { get; set; }
public string? Status { get; set; }
[XmlAttribute("filter")]
public string? Filter { get; set; }