mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Location number is numeric
This commit is contained in:
@@ -771,7 +771,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case "diplocation":
|
case "diplocation":
|
||||||
var dipLocation = new Location();
|
var dipLocation = new Location();
|
||||||
dipLocation.Name = reader.GetAttribute("name");
|
dipLocation.Name = reader.GetAttribute("name");
|
||||||
dipLocation.Number = reader.GetAttribute("number");
|
dipLocation.Number = Sanitizer.CleanLong(reader.GetAttribute("number"));
|
||||||
dipLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
dipLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
||||||
|
|
||||||
dipSwitch.Locations.Add(dipLocation);
|
dipSwitch.Locations.Add(dipLocation);
|
||||||
@@ -895,7 +895,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case "conflocation":
|
case "conflocation":
|
||||||
var confLocation = new Location();
|
var confLocation = new Location();
|
||||||
confLocation.Name = reader.GetAttribute("name");
|
confLocation.Name = reader.GetAttribute("name");
|
||||||
confLocation.Number = reader.GetAttribute("number");
|
confLocation.Number = Sanitizer.CleanLong(reader.GetAttribute("number"));
|
||||||
confLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
confLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
||||||
|
|
||||||
configuration.Locations.Add(confLocation);
|
configuration.Locations.Add(confLocation);
|
||||||
@@ -1396,7 +1396,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("conflocation");
|
xtw.WriteStartElement("conflocation");
|
||||||
xtw.WriteOptionalAttributeString("name", location.Name);
|
xtw.WriteOptionalAttributeString("name", location.Name);
|
||||||
xtw.WriteOptionalAttributeString("number", location.Number);
|
xtw.WriteOptionalAttributeString("number", location.Number?.ToString());
|
||||||
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
@@ -1476,7 +1476,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("diplocation");
|
xtw.WriteStartElement("diplocation");
|
||||||
xtw.WriteOptionalAttributeString("name", location.Name);
|
xtw.WriteOptionalAttributeString("name", location.Name);
|
||||||
xtw.WriteOptionalAttributeString("number", location.Number);
|
xtw.WriteOptionalAttributeString("number", location.Number?.ToString());
|
||||||
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -732,7 +732,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case "conflocation":
|
case "conflocation":
|
||||||
var confLocation = new Location();
|
var confLocation = new Location();
|
||||||
confLocation.Name = reader.GetAttribute("name");
|
confLocation.Name = reader.GetAttribute("name");
|
||||||
confLocation.Number = reader.GetAttribute("number");
|
confLocation.Number = Sanitizer.CleanLong(reader.GetAttribute("number"));
|
||||||
confLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
confLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
||||||
|
|
||||||
(configuration as Configuration).Locations.Add(confLocation);
|
(configuration as Configuration).Locations.Add(confLocation);
|
||||||
@@ -860,7 +860,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case "diplocation":
|
case "diplocation":
|
||||||
var dipLocation = new Location();
|
var dipLocation = new Location();
|
||||||
dipLocation.Name = reader.GetAttribute("name");
|
dipLocation.Name = reader.GetAttribute("name");
|
||||||
dipLocation.Number = reader.GetAttribute("number");
|
dipLocation.Number = Sanitizer.CleanLong(reader.GetAttribute("number"));
|
||||||
dipLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
dipLocation.Inverted = reader.GetAttribute("inverted").AsYesNo();
|
||||||
|
|
||||||
(dipSwitch as DipSwitch).Locations.Add(dipLocation);
|
(dipSwitch as DipSwitch).Locations.Add(dipLocation);
|
||||||
@@ -1298,7 +1298,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("conflocation");
|
xtw.WriteStartElement("conflocation");
|
||||||
xtw.WriteOptionalAttributeString("name", location.Name);
|
xtw.WriteOptionalAttributeString("name", location.Name);
|
||||||
xtw.WriteOptionalAttributeString("number", location.Number);
|
xtw.WriteOptionalAttributeString("number", location.Number?.ToString());
|
||||||
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
@@ -1381,7 +1381,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("diplocation");
|
xtw.WriteStartElement("diplocation");
|
||||||
xtw.WriteOptionalAttributeString("name", location.Name);
|
xtw.WriteOptionalAttributeString("name", location.Name);
|
||||||
xtw.WriteOptionalAttributeString("number", location.Number);
|
xtw.WriteOptionalAttributeString("number", location.Number?.ToString());
|
||||||
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
xtw.WriteOptionalAttributeString("inverted", location.Inverted.FromYesNo());
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// Location ID
|
/// Location ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("number", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
[JsonProperty("number", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
||||||
public string Number { get; set; }
|
public long? Number { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines if location is inverted or not
|
/// Determines if location is inverted or not
|
||||||
@@ -61,7 +61,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
Name = mappings[Field.DatItem_Location_Name];
|
Name = mappings[Field.DatItem_Location_Name];
|
||||||
|
|
||||||
if (mappings.Keys.Contains(Field.DatItem_Location_Number))
|
if (mappings.Keys.Contains(Field.DatItem_Location_Number))
|
||||||
Number = mappings[Field.DatItem_Location_Number];
|
Number = Sanitizer.CleanLong(mappings[Field.DatItem_Location_Number]);
|
||||||
|
|
||||||
if (mappings.Keys.Contains(Field.DatItem_Location_Inverted))
|
if (mappings.Keys.Contains(Field.DatItem_Location_Inverted))
|
||||||
Inverted = mappings[Field.DatItem_Location_Inverted].AsYesNo();
|
Inverted = mappings[Field.DatItem_Location_Inverted].AsYesNo();
|
||||||
@@ -169,9 +169,11 @@ namespace SabreTools.Library.DatItems
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Filter on number
|
// Filter on number
|
||||||
if (filter.DatItem_Location_Number.MatchesPositiveSet(Number) == false)
|
if (filter.DatItem_Location_Number.MatchesNeutral(null, Number) == false)
|
||||||
return false;
|
return false;
|
||||||
if (filter.DatItem_Location_Number.MatchesNegativeSet(Number) == true)
|
else if (filter.DatItem_Location_Number.MatchesPositive(null, Number) == false)
|
||||||
|
return false;
|
||||||
|
else if (filter.DatItem_Location_Number.MatchesNegative(null, Number) == false)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Filter on inverted
|
// Filter on inverted
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ namespace SabreTools.Library.Filtering
|
|||||||
|
|
||||||
// Location
|
// Location
|
||||||
public FilterItem<string> DatItem_Location_Name { get; private set; } = new FilterItem<string>();
|
public FilterItem<string> DatItem_Location_Name { get; private set; } = new FilterItem<string>();
|
||||||
public FilterItem<string> DatItem_Location_Number { get; private set; } = new FilterItem<string>();
|
public FilterItem<long?> DatItem_Location_Number { get; private set; } = new FilterItem<long?>() { Positive = null, Negative = null, Neutral = null };
|
||||||
public FilterItem<bool?> DatItem_Location_Inverted { get; private set; } = new FilterItem<bool?>() { Neutral = null };
|
public FilterItem<bool?> DatItem_Location_Inverted { get; private set; } = new FilterItem<bool?>() { Neutral = null };
|
||||||
|
|
||||||
// Part
|
// Part
|
||||||
@@ -974,7 +974,7 @@ namespace SabreTools.Library.Filtering
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Field.DatItem_Location_Number:
|
case Field.DatItem_Location_Number:
|
||||||
SetStringFilter(DatItem_Location_Number, value, negate);
|
SetLongFilter(DatItem_Location_Number, value, negate);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Field.DatItem_Location_Inverted:
|
case Field.DatItem_Location_Inverted:
|
||||||
|
|||||||
Reference in New Issue
Block a user