mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 14:55:11 +00:00
Make Serials more complete
This commit is contained in:
@@ -1,57 +1,148 @@
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
[JsonObject("serials"), XmlRoot("serials")]
|
||||
public class Serials : DatItem
|
||||
public class Serials : DatItem, ICloneable, IEquatable<Serials>
|
||||
{
|
||||
#region Keys
|
||||
#region Properties
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MediaSerial1Key = "mediaserial1";
|
||||
public string? BoxBarcode { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MediaSerial2Key = "mediaserial2";
|
||||
public string? BoxSerial { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MediaSerial3Key = "mediaserial3";
|
||||
public string? ChipSerial { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PCBSerialKey = "pcbserial";
|
||||
public string? DigitalSerial1 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RomChipSerial1Key = "romchipserial1";
|
||||
public string? DigitalSerial2 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RomChipSerial2Key = "romchipserial2";
|
||||
public string? LockoutSerial { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string LockoutSerialKey = "lockoutserial";
|
||||
public string? MediaSerial1 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SaveChipSerialKey = "savechipserial";
|
||||
public string? MediaSerial2 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ChipSerialKey = "chipserial";
|
||||
public string? MediaSerial3 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string BoxSerialKey = "boxserial";
|
||||
public string? MediaStamp { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MediaStampKey = "mediastamp";
|
||||
public string? PCBSerial { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string BoxBarcodeKey = "boxbarcode";
|
||||
public string? RomChipSerial1 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DigitalSerial1Key = "digitalserial1";
|
||||
public string? RomChipSerial2 { get; set; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DigitalSerial2Key = "digitalserial2";
|
||||
public string? SaveChipSerial { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
public Serials() => ItemType = ItemType.Serials;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public object Clone()
|
||||
{
|
||||
var obj = new Serials();
|
||||
|
||||
obj.BoxBarcode = BoxBarcode;
|
||||
obj.BoxSerial = BoxSerial;
|
||||
obj.ChipSerial = ChipSerial;
|
||||
obj.DigitalSerial1 = DigitalSerial1;
|
||||
obj.DigitalSerial2 = DigitalSerial2;
|
||||
obj.LockoutSerial = LockoutSerial;
|
||||
obj.MediaSerial1 = MediaSerial1;
|
||||
obj.MediaSerial2 = MediaSerial2;
|
||||
obj.MediaSerial3 = MediaSerial3;
|
||||
obj.MediaStamp = MediaStamp;
|
||||
obj.PCBSerial = PCBSerial;
|
||||
obj.RomChipSerial1 = RomChipSerial1;
|
||||
obj.RomChipSerial2 = RomChipSerial2;
|
||||
obj.SaveChipSerial = SaveChipSerial;
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool Equals(Serials? other)
|
||||
{
|
||||
// Null never matches
|
||||
if (other is null)
|
||||
return false;
|
||||
|
||||
// Properties
|
||||
if ((BoxBarcode is null) ^ (other.BoxBarcode is null))
|
||||
return false;
|
||||
else if (BoxBarcode is not null && !BoxBarcode.Equals(other.BoxBarcode, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((BoxSerial is null) ^ (other.BoxSerial is null))
|
||||
return false;
|
||||
else if (BoxSerial is not null && !BoxSerial.Equals(other.BoxSerial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((ChipSerial is null) ^ (other.ChipSerial is null))
|
||||
return false;
|
||||
else if (ChipSerial is not null && !ChipSerial.Equals(other.ChipSerial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((DigitalSerial1 is null) ^ (other.DigitalSerial1 is null))
|
||||
return false;
|
||||
else if (DigitalSerial1 is not null && !DigitalSerial1.Equals(other.DigitalSerial1, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((DigitalSerial2 is null) ^ (other.DigitalSerial2 is null))
|
||||
return false;
|
||||
else if (DigitalSerial2 is not null && !DigitalSerial2.Equals(other.DigitalSerial2, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((LockoutSerial is null) ^ (other.LockoutSerial is null))
|
||||
return false;
|
||||
else if (LockoutSerial is not null && !LockoutSerial.Equals(other.LockoutSerial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((MediaSerial1 is null) ^ (other.MediaSerial1 is null))
|
||||
return false;
|
||||
else if (MediaSerial1 is not null && !MediaSerial1.Equals(other.MediaSerial1, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((MediaSerial2 is null) ^ (other.MediaSerial2 is null))
|
||||
return false;
|
||||
else if (MediaSerial2 is not null && !MediaSerial2.Equals(other.MediaSerial2, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((MediaSerial3 is null) ^ (other.MediaSerial3 is null))
|
||||
return false;
|
||||
else if (MediaSerial3 is not null && !MediaSerial3.Equals(other.MediaSerial3, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((MediaStamp is null) ^ (other.MediaStamp is null))
|
||||
return false;
|
||||
else if (MediaStamp is not null && !MediaStamp.Equals(other.MediaStamp, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((PCBSerial is null) ^ (other.PCBSerial is null))
|
||||
return false;
|
||||
else if (PCBSerial is not null && !PCBSerial.Equals(other.PCBSerial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((RomChipSerial1 is null) ^ (other.RomChipSerial1 is null))
|
||||
return false;
|
||||
else if (RomChipSerial1 is not null && !RomChipSerial1.Equals(other.RomChipSerial1, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((RomChipSerial2 is null) ^ (other.RomChipSerial2 is null))
|
||||
return false;
|
||||
else if (RomChipSerial2 is not null && !RomChipSerial2.Equals(other.RomChipSerial2, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
if ((SaveChipSerial is null) ^ (other.SaveChipSerial is null))
|
||||
return false;
|
||||
else if (SaveChipSerial is not null && !SaveChipSerial.Equals(other.SaveChipSerial, StringComparison.OrdinalIgnoreCase))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user