Wire up Logiqx TruRip/EmuArc fields

This commit is contained in:
Matt Nadareski
2020-08-20 22:42:04 -07:00
parent d90e9ee8a1
commit bcd765b375
8 changed files with 726 additions and 54 deletions

View File

@@ -156,6 +156,55 @@ namespace SabreTools.Library.Filtering
#endregion
#region Logiqx EmuArc
/// <summary>
/// Include or exclude machine title ID
/// </summary>
public FilterItem<string> TitleID { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine developer
/// </summary>
public FilterItem<string> Developer { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine genre
/// </summary>
public FilterItem<string> Genre { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine subgenre
/// </summary>
public FilterItem<string> Subgenre { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine ratings
/// </summary>
public FilterItem<string> Ratings { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine score
/// </summary>
public FilterItem<string> Score { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude machine enabled
/// </summary>
public FilterItem<string> Enabled { get; private set; } = new FilterItem<string>();
/// <summary>
/// Include or exclude items with the "crc" tag
/// </summary>
public FilterItem<bool?> HasCrc { get; private set; } = new FilterItem<bool?>() { Neutral = null };
/// <summary>
/// Include or exclude machine related to
/// </summary>
public FilterItem<string> RelatedTo { get; private set; } = new FilterItem<string>();
#endregion
#region SoftwareList
/// <summary>
@@ -624,6 +673,73 @@ namespace SabreTools.Library.Filtering
#endregion
#region Logiqx EmuArc
case Field.TitleID:
if (negate)
TitleID.NegativeSet.Add(value);
else
TitleID.PositiveSet.Add(value);
break;
case Field.Developer:
if (negate)
Developer.NegativeSet.Add(value);
else
Developer.PositiveSet.Add(value);
break;
case Field.Genre:
if (negate)
Genre.NegativeSet.Add(value);
else
Genre.PositiveSet.Add(value);
break;
case Field.Subgenre:
if (negate)
Subgenre.NegativeSet.Add(value);
else
Subgenre.PositiveSet.Add(value);
break;
case Field.Ratings:
if (negate)
Ratings.NegativeSet.Add(value);
else
Ratings.PositiveSet.Add(value);
break;
case Field.Score:
if (negate)
Score.NegativeSet.Add(value);
else
Score.PositiveSet.Add(value);
break;
case Field.Enabled:
if (negate)
Enabled.NegativeSet.Add(value);
else
Enabled.PositiveSet.Add(value);
break;
case Field.HasCrc:
if (negate || value.Equals("false", StringComparison.OrdinalIgnoreCase))
HasCrc.Neutral = false;
else
HasCrc.Neutral = true;
break;
case Field.RelatedTo:
if (negate)
RelatedTo.NegativeSet.Add(value);
else
RelatedTo.PositiveSet.Add(value);
break;
#endregion
#region SoftwareList
case Field.Supported: