using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public class Named : Properties.INamed { protected readonly bool? _IsWrongYear; protected readonly DateTime _MinimumDateTime; protected readonly int? _NormalizedPixelPercentage; protected readonly PersonBirthday? _PersonBirthday; public bool? IsWrongYear => _IsWrongYear; public DateTime MinimumDateTime => _MinimumDateTime; public int? NormalizedPixelPercentage => _NormalizedPixelPercentage; public PersonBirthday? PersonBirthday => _PersonBirthday; [JsonConstructor] public Named(bool? isWrongYear, DateTime minimumDateTime, int? normalizedPixelPercentage, PersonBirthday? personBirthday) { _IsWrongYear = isWrongYear; _MinimumDateTime = minimumDateTime; _NormalizedPixelPercentage = normalizedPixelPercentage; _PersonBirthday = personBirthday; } public Named(bool? isWrongYear, DateTime minimumDateTime, PersonBirthday? personBirthday) : this(isWrongYear, minimumDateTime, null, personBirthday) { } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }