mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Add Logiqx serial and version machine fields
This commit is contained in:
@@ -71,6 +71,12 @@ namespace SabreTools.Data.Models.Logiqx
|
||||
[XmlElement("publisher")]
|
||||
public string? Publisher { get; set; }
|
||||
|
||||
[XmlElement("serial")]
|
||||
public string? Serial { get; set; }
|
||||
|
||||
[XmlElement("version")]
|
||||
public string? Version { get; set; }
|
||||
|
||||
/// <remarks>No-Intro extension includes more than 1 instance</remarks>
|
||||
[XmlElement("category")]
|
||||
public string[]? Category { get; set; }
|
||||
|
||||
@@ -157,6 +157,8 @@ namespace SabreTools.Data.Models.Metadata
|
||||
|
||||
public string? Score { get; set; }
|
||||
|
||||
public string? Serial { get; set; }
|
||||
|
||||
public SharedFeat[]? SharedFeat { get; set; }
|
||||
|
||||
public Slot[]? Slot { get; set; }
|
||||
@@ -186,6 +188,8 @@ namespace SabreTools.Data.Models.Metadata
|
||||
|
||||
public string? Url { get; set; }
|
||||
|
||||
public string? Version { get; set; }
|
||||
|
||||
public Video[]? Video { get; set; }
|
||||
|
||||
public string? Year { get; set; }
|
||||
@@ -293,6 +297,7 @@ namespace SabreTools.Data.Models.Metadata
|
||||
obj.SampleOf = SampleOf;
|
||||
obj.SaveType = SaveType;
|
||||
obj.Score = Score;
|
||||
obj.Serial = Serial;
|
||||
if (SharedFeat is not null)
|
||||
obj.SharedFeat = Array.ConvertAll(SharedFeat, i => (SharedFeat)i.Clone());
|
||||
if (Slot is not null)
|
||||
@@ -311,6 +316,7 @@ namespace SabreTools.Data.Models.Metadata
|
||||
obj.Tags = Tags;
|
||||
obj.TitleID = TitleID;
|
||||
obj.Url = Url;
|
||||
obj.Version = Version;
|
||||
if (Video is not null)
|
||||
obj.Video = Array.ConvertAll(Video, i => (Video)i.Clone());
|
||||
obj.Year = Year;
|
||||
@@ -558,6 +564,11 @@ namespace SabreTools.Data.Models.Metadata
|
||||
else if (Score is not null && !Score.Equals(other.Score, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((Serial is null) ^ (other.Serial is null))
|
||||
return false;
|
||||
else if (Serial is not null && !Serial.Equals(other.Serial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((Source is null) ^ (other.Source is null))
|
||||
return false;
|
||||
else if (Source is not null && !Source.Equals(other.Source, StringComparison.OrdinalIgnoreCase))
|
||||
@@ -606,6 +617,11 @@ namespace SabreTools.Data.Models.Metadata
|
||||
else if (Url is not null && !Url.Equals(other.Url, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((Version is null) ^ (other.Version is null))
|
||||
return false;
|
||||
else if (Version is not null && !Version.Equals(other.Version, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((Year is null) ^ (other.Year is null))
|
||||
return false;
|
||||
else if (Year is not null && !Year.Equals(other.Year, StringComparison.OrdinalIgnoreCase))
|
||||
|
||||
@@ -326,6 +326,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
SampleOf = "sampleof",
|
||||
SaveType = "savetype",
|
||||
Score = "score",
|
||||
Serial = "serial",
|
||||
SharedFeat = [CreateMetadataSharedFeat()],
|
||||
Slot = [CreateMetadataSlot()],
|
||||
SoftwareList = [CreateMetadataSoftwareList()],
|
||||
@@ -340,6 +341,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Tags = "tags",
|
||||
TitleID = "titleid",
|
||||
Url = "url",
|
||||
Version = "version",
|
||||
Video = [CreateMetadataVideo()],
|
||||
Year = "year",
|
||||
};
|
||||
|
||||
@@ -435,6 +435,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal("sampleof", machine.SampleOf);
|
||||
Assert.Equal("savetype", machine.SaveType);
|
||||
Assert.Equal("score", machine.Score);
|
||||
Assert.Equal("serial", machine.Serial);
|
||||
Assert.Equal("source", machine.Source);
|
||||
Assert.Equal("sourcefile", machine.SourceFile);
|
||||
Assert.Equal("sourcerom", machine.SourceRom);
|
||||
@@ -444,6 +445,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal("system", machine.System);
|
||||
Assert.Equal("tags", machine.Tags);
|
||||
Assert.Equal("titleid", machine.TitleID);
|
||||
Assert.Equal("version", machine.Version);
|
||||
Assert.Equal("year", machine.Year);
|
||||
|
||||
Data.Models.Metadata.Adjuster[]? adjusters = machine.Adjuster;
|
||||
|
||||
@@ -314,6 +314,12 @@ namespace SabreTools.Metadata.DatItems
|
||||
set => _internal.Score = value;
|
||||
}
|
||||
|
||||
public string? Serial
|
||||
{
|
||||
get => _internal.Serial;
|
||||
set => _internal.Serial = value;
|
||||
}
|
||||
|
||||
public string? Source
|
||||
{
|
||||
get => _internal.Source;
|
||||
@@ -374,6 +380,12 @@ namespace SabreTools.Metadata.DatItems
|
||||
set => _internal.Url = value;
|
||||
}
|
||||
|
||||
public string? Version
|
||||
{
|
||||
get => _internal.Version;
|
||||
set => _internal.Version = value;
|
||||
}
|
||||
|
||||
public string? Year
|
||||
{
|
||||
get => _internal.Year;
|
||||
|
||||
@@ -1359,6 +1359,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
SampleOf = "sampleof",
|
||||
SaveType = "savetype",
|
||||
Score = "score",
|
||||
Serial = "serial",
|
||||
Source = "source",
|
||||
SourceFile = "sourcefile",
|
||||
SourceRom = "sourcerom",
|
||||
@@ -1369,6 +1370,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
Tags = "tags",
|
||||
TitleID = "titleid",
|
||||
Url = "url",
|
||||
Version = "version",
|
||||
Year = "year",
|
||||
};
|
||||
|
||||
|
||||
@@ -1600,6 +1600,9 @@ namespace SabreTools.Metadata.Filter
|
||||
case "score":
|
||||
checkValue = obj.Score;
|
||||
return true;
|
||||
case "serial":
|
||||
checkValue = obj.Serial;
|
||||
return true;
|
||||
case "source":
|
||||
checkValue = obj.Source;
|
||||
return true;
|
||||
@@ -1630,6 +1633,9 @@ namespace SabreTools.Metadata.Filter
|
||||
case "url":
|
||||
checkValue = obj.Url;
|
||||
return true;
|
||||
case "version":
|
||||
checkValue = obj.Version;
|
||||
return true;
|
||||
case "year":
|
||||
checkValue = obj.Year;
|
||||
return true;
|
||||
|
||||
@@ -257,6 +257,8 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
gameBase.Year = "year";
|
||||
gameBase.Manufacturer = "manufacturer";
|
||||
gameBase.Publisher = "publisher";
|
||||
gameBase.Serial = "serial";
|
||||
gameBase.Version = "version";
|
||||
gameBase.Category = ["category"];
|
||||
gameBase.Trurip = trurip;
|
||||
gameBase.Release = [release];
|
||||
@@ -387,6 +389,8 @@ namespace SabreTools.Serialization.CrossModel.Test
|
||||
Assert.Equal("year", gb.Year);
|
||||
Assert.Equal("manufacturer", gb.Manufacturer);
|
||||
Assert.Equal("publisher", gb.Publisher);
|
||||
Assert.Equal("serial", gb.Serial);
|
||||
Assert.Equal("version", gb.Version);
|
||||
|
||||
Assert.NotNull(gb.Category);
|
||||
string category = Assert.Single(gb.Category);
|
||||
|
||||
@@ -135,6 +135,8 @@ namespace SabreTools.Serialization.CrossModel
|
||||
gameBase.Year = item.Year;
|
||||
gameBase.Manufacturer = item.Manufacturer;
|
||||
gameBase.Publisher = item.Publisher;
|
||||
gameBase.Serial = item.Serial;
|
||||
gameBase.Version = item.Version;
|
||||
gameBase.Category = item.Category;
|
||||
|
||||
if (item.TitleID is not null
|
||||
|
||||
@@ -144,6 +144,8 @@ namespace SabreTools.Serialization.CrossModel
|
||||
Name = machineName,
|
||||
Players = item.Trurip?.Players,
|
||||
Publisher = item.Publisher ?? item.Trurip?.Publisher,
|
||||
Serial = item.Serial,
|
||||
Version = item.Version,
|
||||
Ratings = item.Trurip?.Ratings,
|
||||
RebuildTo = item.RebuildTo,
|
||||
RelatedTo = item.Trurip?.RelatedTo,
|
||||
|
||||
@@ -322,6 +322,8 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
gameBase.Year = "year";
|
||||
gameBase.Manufacturer = "manufacturer";
|
||||
gameBase.Publisher = "publisher";
|
||||
gameBase.Serial = "serial";
|
||||
gameBase.Version = "version";
|
||||
gameBase.Category = ["category"];
|
||||
gameBase.Trurip = trurip;
|
||||
gameBase.Release = [release];
|
||||
@@ -437,6 +439,8 @@ namespace SabreTools.Serialization.Readers.Test
|
||||
Assert.Equal("year", gb.Year);
|
||||
Assert.Equal("manufacturer", gb.Manufacturer);
|
||||
Assert.Equal("publisher", gb.Publisher);
|
||||
Assert.Equal("serial", gb.Serial);
|
||||
Assert.Equal("version", gb.Version);
|
||||
|
||||
Assert.NotNull(gb.Category);
|
||||
string category = Assert.Single(gb.Category);
|
||||
|
||||
@@ -587,6 +587,18 @@ namespace SabreTools.Serialization.Readers
|
||||
|
||||
obj.Publisher = reader.ReadElementContentAsString();
|
||||
break;
|
||||
case "serial":
|
||||
if (obj.Serial is not null && Debug)
|
||||
Console.WriteLine($"'{reader.Name}' element already found, overwriting");
|
||||
|
||||
obj.Serial = reader.ReadElementContentAsString();
|
||||
break;
|
||||
case "version":
|
||||
if (obj.Version is not null && Debug)
|
||||
Console.WriteLine($"'{reader.Name}' element already found, overwriting");
|
||||
|
||||
obj.Version = reader.ReadElementContentAsString();
|
||||
break;
|
||||
case "category":
|
||||
var category = reader.ReadElementContentAsString();
|
||||
if (category is not null)
|
||||
|
||||
@@ -373,6 +373,8 @@ namespace SabreTools.Serialization.Writers
|
||||
writer.WriteOptionalElementString("year", obj.Year);
|
||||
writer.WriteOptionalElementString("manufacturer", obj.Manufacturer);
|
||||
writer.WriteOptionalElementString("publisher", obj.Publisher);
|
||||
writer.WriteOptionalElementString("serial", obj.Serial);
|
||||
writer.WriteOptionalElementString("version", obj.Version);
|
||||
|
||||
if (obj.Category is not null && obj.Category.Length > 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user