51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class Mapping : Properties.IMapping
|
|
{
|
|
|
|
protected int? _ApproximateYears;
|
|
protected readonly string _DisplayDirectoryName;
|
|
protected bool? _Filtered;
|
|
protected bool _Forced;
|
|
protected readonly int? _NormalizedPixelPercentage;
|
|
protected PersonBirthday _PersonBirthday;
|
|
public int? ApproximateYears => _ApproximateYears;
|
|
public string DisplayDirectoryName => _DisplayDirectoryName;
|
|
public bool? Filtered => _Filtered;
|
|
public bool Forced => _Forced;
|
|
public int? NormalizedPixelPercentage => _NormalizedPixelPercentage;
|
|
public PersonBirthday PersonBirthday => _PersonBirthday;
|
|
|
|
[JsonConstructor]
|
|
public Mapping(int? approximateYears, string displayDirectoryName, bool? filtered, bool forced, int? normalizedPixelPercentage, PersonBirthday personBirthday)
|
|
{
|
|
_ApproximateYears = approximateYears;
|
|
_DisplayDirectoryName = displayDirectoryName;
|
|
_Filtered = filtered;
|
|
_Forced = forced;
|
|
_NormalizedPixelPercentage = normalizedPixelPercentage;
|
|
_PersonBirthday = personBirthday;
|
|
}
|
|
|
|
public Mapping(int? approximateYears, string displayDirectoryName, bool forced, int? normalizedPixelPercentage, PersonBirthday personBirthday) :
|
|
this(approximateYears, displayDirectoryName, null, forced, normalizedPixelPercentage, personBirthday)
|
|
{ }
|
|
|
|
public Mapping(int? approximateYears, string displayDirectoryName, bool forced, PersonBirthday personBirthday) :
|
|
this(approximateYears, displayDirectoryName, null, forced, null, personBirthday)
|
|
{ }
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
public void SetFiltered() => _Filtered = true;
|
|
|
|
public void SetFiltered(bool value) => _Filtered = value;
|
|
|
|
} |