Migrate most header string keys to properties

This commit is contained in:
Matt Nadareski
2026-04-02 22:01:42 -04:00
parent 0df6378713
commit 49d3d9c096
31 changed files with 482 additions and 292 deletions

View File

@@ -45,16 +45,16 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
RootDir = item.ReadString(Data.Models.Metadata.Header.RootDirKey),
Category = item.ReadString(Data.Models.Metadata.Header.CategoryKey),
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
RootDir = item.RootDir,
Category = item.Category,
Version = item.Version,
Date = item.Date,
Author = item.Author,
Homepage = item.Homepage,
Url = item.Url,
Comment = item.Comment,
Header = item.ReadString(Data.Models.Metadata.Header.HeaderKey),
Type = item.ReadString(Data.Models.Metadata.Header.TypeKey),
Type = item.Type,
ForceMerging = item.ForceMerging,
ForceZipping = item.ForceZipping,
ForcePacking = item.ForcePacking,

View File

@@ -37,16 +37,16 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
[Data.Models.Metadata.Header.RootDirKey] = item.RootDir,
[Data.Models.Metadata.Header.CategoryKey] = item.Category,
[Data.Models.Metadata.Header.VersionKey] = item.Version,
[Data.Models.Metadata.Header.DateKey] = item.Date,
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
[Data.Models.Metadata.Header.UrlKey] = item.Url,
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
RootDir = item.RootDir,
Category = item.Category,
Version = item.Version,
Date = item.Date,
Author = item.Author,
Homepage = item.Homepage,
Url = item.Url,
Comment = item.Comment,
[Data.Models.Metadata.Header.HeaderKey] = item.Header,
[Data.Models.Metadata.Header.TypeKey] = item.Type,
Type = item.Type,
ForceMerging = item.ForceMerging,
ForceZipping = item.ForceZipping,
ForcePacking = item.ForcePacking,

View File

@@ -33,11 +33,11 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
Version = item.Version,
Date = item.Date,
Author = item.Author,
Homepage = item.Homepage,
Comment = item.Comment,
};
return dosCenter;
}

View File

@@ -34,11 +34,11 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
[Data.Models.Metadata.Header.VersionKey] = item.Version,
[Data.Models.Metadata.Header.DateKey] = item.Date,
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
Version = item.Version,
Date = item.Date,
Author = item.Author,
Homepage = item.Homepage,
Comment = item.Comment,
};
return header;
}

View File

@@ -28,9 +28,9 @@ namespace SabreTools.Serialization.CrossModel
{
var mame = new Mame
{
Build = item.ReadString(Data.Models.Metadata.Header.BuildKey),
Build = item.Build,
Debug = item.Debug,
MameConfig = item.ReadString(Data.Models.Metadata.Header.MameConfigKey),
MameConfig = item.MameConfig,
};
return mame;

View File

@@ -32,9 +32,9 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Data.Models.Metadata.Header
{
[Data.Models.Metadata.Header.BuildKey] = item.Build,
Build = item.Build,
Debug = item.Debug,
[Data.Models.Metadata.Header.MameConfigKey] = item.MameConfig,
MameConfig = item.MameConfig,
};
return header;
}

View File

@@ -21,7 +21,7 @@ namespace SabreTools.Serialization.CrossModel
var header = obj.Read<Data.Models.Metadata.Header>(Data.Models.Metadata.MetadataFile.HeaderKey);
if (header is not null)
{
datafile.Build = header.ReadString(Data.Models.Metadata.Header.BuildKey);
datafile.Build = header.Build;
datafile.Debug = header.Debug;
datafile.SchemaLocation = header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey);
datafile.Header = ConvertHeaderFromInternalModel(header);
@@ -41,19 +41,19 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Header
{
Id = item.ReadString(Data.Models.Metadata.Header.IdKey),
Id = item.Id,
Name = item.Name,
Description = item.Description,
RootDir = item.ReadString(Data.Models.Metadata.Header.RootDirKey),
Category = item.ReadString(Data.Models.Metadata.Header.CategoryKey),
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
Email = item.ReadString(Data.Models.Metadata.Header.EmailKey),
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
Type = item.ReadString(Data.Models.Metadata.Header.TypeKey),
RootDir = item.RootDir,
Category = item.Category,
Version = item.Version,
Date = item.Date,
Author = item.Author,
Email = item.Email,
Homepage = item.Homepage,
Url = item.Url,
Comment = item.Comment,
Type = item.Type,
};
string? headerVal = item.ReadString(Data.Models.Metadata.Header.HeaderKey);
@@ -77,7 +77,7 @@ namespace SabreTools.Serialization.CrossModel
header.ClrMamePro.ForcePacking = forcePacking;
}
string? plugin = item.ReadString(Data.Models.Metadata.Header.PluginKey);
string? plugin = item.Plugin;
Data.Models.Metadata.MergingFlag romMode = item.RomMode;
Data.Models.Metadata.MergingFlag biosMode = item.BiosMode;
Data.Models.Metadata.MergingFlag sampleMode = item.SampleMode;

View File

@@ -39,7 +39,7 @@ namespace SabreTools.Serialization.CrossModel
{
var header = item.Header is not null ? ConvertHeaderToInternalModel(item.Header) : [];
header[Data.Models.Metadata.Header.BuildKey] = item.Build;
header.Build = item.Build;
header.Debug = item.Debug;
header[Data.Models.Metadata.Header.SchemaLocationKey] = item.SchemaLocation;
@@ -53,19 +53,19 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Data.Models.Metadata.Header
{
[Data.Models.Metadata.Header.IdKey] = item.Id,
Id = item.Id,
Name = item.Name,
Description = item.Description,
[Data.Models.Metadata.Header.RootDirKey] = item.RootDir,
[Data.Models.Metadata.Header.CategoryKey] = item.Category,
[Data.Models.Metadata.Header.VersionKey] = item.Version,
[Data.Models.Metadata.Header.DateKey] = item.Date,
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
[Data.Models.Metadata.Header.EmailKey] = item.Email,
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
[Data.Models.Metadata.Header.UrlKey] = item.Url,
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
[Data.Models.Metadata.Header.TypeKey] = item.Type,
RootDir = item.RootDir,
Category = item.Category,
Version = item.Version,
Date = item.Date,
Author = item.Author,
Email = item.Email,
Homepage = item.Homepage,
Url = item.Url,
Comment = item.Comment,
Type = item.Type,
};
if (item.ClrMamePro is not null)
@@ -78,7 +78,7 @@ namespace SabreTools.Serialization.CrossModel
if (item.RomCenter is not null)
{
header[Data.Models.Metadata.Header.PluginKey] = item.RomCenter.Plugin;
header.Plugin = item.RomCenter.Plugin;
header.RomMode = item.RomCenter.RomMode;
header.BiosMode = item.RomCenter.BiosMode;
header.SampleMode = item.RomCenter.SampleMode;

View File

@@ -27,7 +27,7 @@ namespace SabreTools.Serialization.CrossModel
{
var m1 = new Data.Models.Listxml.M1
{
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Version = item.Version,
};
return m1;
}

View File

@@ -31,7 +31,7 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Data.Models.Metadata.Header
{
[Data.Models.Metadata.Header.VersionKey] = item.Version,
Version = item.Version,
};
return header;
}

View File

@@ -27,7 +27,7 @@ namespace SabreTools.Serialization.CrossModel
{
var m1 = new Data.Models.Listxml.Mess
{
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Version = item.Version,
};
return m1;
}

View File

@@ -31,7 +31,7 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Data.Models.Metadata.Header
{
[Data.Models.Metadata.Header.VersionKey] = item.Version,
Version = item.Version,
};
return header;
}

View File

@@ -38,29 +38,29 @@ namespace SabreTools.Serialization.CrossModel
if (item.Name is not null
|| item.ContainsKey(Data.Models.Metadata.Header.ImFolderKey)
|| item.ContainsKey(Data.Models.Metadata.Header.DatVersionKey)
|| item.ContainsKey(Data.Models.Metadata.Header.SystemKey)
|| item.DatVersion != null
|| item.System != null
|| item.ContainsKey(Data.Models.Metadata.Header.ScreenshotsWidthKey)
|| item.ContainsKey(Data.Models.Metadata.Header.ScreenshotsHeightKey)
|| item.ContainsKey(Data.Models.Metadata.Header.InfosKey)
|| item.ContainsKey(Data.Models.Metadata.Header.CanOpenKey)
|| item.ContainsKey(Data.Models.Metadata.Header.NewDatKey)
|| item.ContainsKey(Data.Models.Metadata.Header.SearchKey)
|| item.ContainsKey(Data.Models.Metadata.Header.RomTitleKey))
|| item.RomTitle != null)
{
dat.Configuration = new Configuration
{
DatName = item.Name,
ImFolder = item.ReadString(Data.Models.Metadata.Header.ImFolderKey),
DatVersion = item.ReadString(Data.Models.Metadata.Header.DatVersionKey),
System = item.ReadString(Data.Models.Metadata.Header.SystemKey),
DatVersion = item.DatVersion,
System = item.System,
ScreenshotsWidth = item.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey),
ScreenshotsHeight = item.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey),
Infos = item.Read<Infos>(Data.Models.Metadata.Header.InfosKey),
CanOpen = item.Read<CanOpen>(Data.Models.Metadata.Header.CanOpenKey),
NewDat = item.Read<NewDat>(Data.Models.Metadata.Header.NewDatKey),
Search = item.Read<Search>(Data.Models.Metadata.Header.SearchKey),
RomTitle = item.ReadString(Data.Models.Metadata.Header.RomTitleKey),
RomTitle = item.RomTitle,
};
}

View File

@@ -39,15 +39,15 @@ namespace SabreTools.Serialization.CrossModel
{
header.Name = item.Configuration.DatName;
header[Data.Models.Metadata.Header.ImFolderKey] = item.Configuration.ImFolder;
header[Data.Models.Metadata.Header.DatVersionKey] = item.Configuration.DatVersion;
header[Data.Models.Metadata.Header.SystemKey] = item.Configuration.System;
header.DatVersion = item.Configuration.DatVersion;
header.System = item.Configuration.System;
header[Data.Models.Metadata.Header.ScreenshotsWidthKey] = item.Configuration.ScreenshotsWidth;
header[Data.Models.Metadata.Header.ScreenshotsHeightKey] = item.Configuration.ScreenshotsHeight;
header[Data.Models.Metadata.Header.InfosKey] = item.Configuration.Infos;
header[Data.Models.Metadata.Header.CanOpenKey] = item.Configuration.CanOpen;
header[Data.Models.Metadata.Header.NewDatKey] = item.Configuration.NewDat;
header[Data.Models.Metadata.Header.SearchKey] = item.Configuration.Search;
header[Data.Models.Metadata.Header.RomTitleKey] = item.Configuration.RomTitle;
header.RomTitle = item.Configuration.RomTitle;
}
if (item.GUI is not null)

View File

@@ -28,7 +28,7 @@ namespace SabreTools.Serialization.CrossModel
{
var softwareDb = new SoftwareDb
{
Timestamp = item.ReadString(Data.Models.Metadata.Header.TimestampKey),
Timestamp = item.Timestamp,
};
return softwareDb;
}

View File

@@ -32,7 +32,7 @@ namespace SabreTools.Serialization.CrossModel
{
var header = new Data.Models.Metadata.Header
{
[Data.Models.Metadata.Header.TimestampKey] = item.Timestamp,
Timestamp = item.Timestamp,
};
return header;
}

View File

@@ -33,46 +33,46 @@ namespace SabreTools.Serialization.CrossModel
{
var metadataFile = new MetadataFile();
if (item.ContainsKey(Data.Models.Metadata.Header.AuthorKey)
|| item.ContainsKey(Data.Models.Metadata.Header.VersionKey)
|| item.ContainsKey(Data.Models.Metadata.Header.EmailKey)
|| item.ContainsKey(Data.Models.Metadata.Header.HomepageKey)
|| item.ContainsKey(Data.Models.Metadata.Header.UrlKey)
|| item.ContainsKey(Data.Models.Metadata.Header.DateKey)
|| item.ContainsKey(Data.Models.Metadata.Header.CommentKey))
if (item.Author != null
|| item.Version != null
|| item.Email != null
|| item.Homepage != null
|| item.Url != null
|| item.Date != null
|| item.Comment != null)
{
metadataFile.Credits = new Credits
{
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
Email = item.ReadString(Data.Models.Metadata.Header.EmailKey),
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
Author = item.Author,
Version = item.Version,
Email = item.Email,
Homepage = item.Homepage,
Url = item.Url,
Date = item.Date,
Comment = item.Comment,
};
}
if (item.ContainsKey(Data.Models.Metadata.Header.DatVersionKey)
|| item.ContainsKey(Data.Models.Metadata.Header.PluginKey)
if (item.DatVersion != null
|| item.Plugin != null
|| item.ForceMerging != Data.Models.Metadata.MergingFlag.None)
{
metadataFile.Dat = new Dat
{
Version = item.ReadString(Data.Models.Metadata.Header.DatVersionKey),
Plugin = item.ReadString(Data.Models.Metadata.Header.PluginKey),
Version = item.DatVersion,
Plugin = item.Plugin,
Split = item.ForceMerging == Data.Models.Metadata.MergingFlag.Split ? "yes" : "no",
Merge = item.ForceMerging == Data.Models.Metadata.MergingFlag.Merged ? "yes" : "no",
};
}
if (item.ContainsKey(Data.Models.Metadata.Header.RefNameKey)
|| item.ContainsKey(Data.Models.Metadata.Header.EmulatorVersionKey))
if (item.RefName != null
|| item.EmulatorVersion != null)
{
metadataFile.Emulator = new Emulator
{
RefName = item.ReadString(Data.Models.Metadata.Header.RefNameKey),
Version = item.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey),
RefName = item.RefName,
Version = item.EmulatorVersion,
};
}

View File

@@ -34,19 +34,19 @@ namespace SabreTools.Serialization.CrossModel
if (item.Credits is not null)
{
header[Data.Models.Metadata.Header.AuthorKey] = item.Credits.Author;
header[Data.Models.Metadata.Header.VersionKey] = item.Credits.Version;
header[Data.Models.Metadata.Header.EmailKey] = item.Credits.Email;
header[Data.Models.Metadata.Header.HomepageKey] = item.Credits.Homepage;
header[Data.Models.Metadata.Header.UrlKey] = item.Credits.Url;
header[Data.Models.Metadata.Header.DateKey] = item.Credits.Date;
header[Data.Models.Metadata.Header.CommentKey] = item.Credits.Comment;
header.Author = item.Credits.Author;
header.Version = item.Credits.Version;
header.Email = item.Credits.Email;
header.Homepage = item.Credits.Homepage;
header.Url = item.Credits.Url;
header.Date = item.Credits.Date;
header.Comment = item.Credits.Comment;
}
if (item.Dat is not null)
{
header[Data.Models.Metadata.Header.DatVersionKey] = item.Dat.Version;
header[Data.Models.Metadata.Header.PluginKey] = item.Dat.Plugin;
header.DatVersion = item.Dat.Version;
header.Plugin = item.Dat.Plugin;
if (item.Dat.Split == "yes" || item.Dat.Split == "1")
header.ForceMerging = Data.Models.Metadata.MergingFlag.Split;
@@ -56,8 +56,8 @@ namespace SabreTools.Serialization.CrossModel
if (item.Emulator is not null)
{
header[Data.Models.Metadata.Header.RefNameKey] = item.Emulator.RefName;
header[Data.Models.Metadata.Header.EmulatorVersionKey] = item.Emulator.Version;
header.RefName = item.Emulator.RefName;
header.EmulatorVersion = item.Emulator.Version;
}
return header;

View File

@@ -30,7 +30,7 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
Notes = item.ReadString(Data.Models.Metadata.Header.NotesKey),
Notes = item.Notes,
};
return softwareList;
}

View File

@@ -34,7 +34,7 @@ namespace SabreTools.Serialization.CrossModel
{
Name = item.Name,
Description = item.Description,
[Data.Models.Metadata.Header.NotesKey] = item.Notes,
Notes = item.Notes,
};
return header;
}