48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class MappingContainer : Properties.IMappingContainer
|
|
{
|
|
|
|
protected double? _Distance;
|
|
protected readonly Face? _Face;
|
|
protected readonly int _Id;
|
|
protected readonly bool? _IsWrongYear;
|
|
protected readonly string _Key;
|
|
protected readonly Mapping _Mapping;
|
|
protected readonly DateTime _MinimumDateTime;
|
|
public double? Distance => _Distance;
|
|
public Face? Face => _Face;
|
|
public int Id => _Id;
|
|
public bool? IsWrongYear => _IsWrongYear;
|
|
public string Key => _Key;
|
|
public Mapping Mapping => _Mapping;
|
|
public DateTime MinimumDateTime => _MinimumDateTime;
|
|
|
|
[JsonConstructor]
|
|
public MappingContainer(double? distance, Face? face, int id, bool? isWrongYear, string key, Mapping mapping, DateTime minimumDateTime)
|
|
{
|
|
_Distance = distance;
|
|
_Face = face;
|
|
_Id = id;
|
|
_IsWrongYear = isWrongYear;
|
|
_Key = key;
|
|
_Mapping = mapping;
|
|
_MinimumDateTime = minimumDateTime;
|
|
}
|
|
|
|
public MappingContainer(Face face, int id, bool? isWrongYear, string key, Mapping mapping, DateTime minimumDateTime) :
|
|
this(null, face, id, isWrongYear, key, mapping, minimumDateTime)
|
|
{ }
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
public void SetDistance(double v) => _Distance = v;
|
|
|
|
} |