using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public class Property : Properties.IProperty { protected bool? _WrongYear; protected DateTime _CreationTime; protected DateTime _LastWriteTime; protected DateTime? _DateTime; protected DateTime? _DateTimeDigitized; protected DateTime? _DateTimeOriginal; protected long _FileSize; protected DateTime? _GPSDateStamp; protected int? _Id; protected int[] _Indices; protected int? _Height; protected int? _Width; protected string _Make; protected int? _MetadataGroups; protected string _Model; protected string _Orientation; protected string _UniqueImageId; public bool? WrongYear => _WrongYear; public DateTime CreationTime => _CreationTime; public DateTime LastWriteTime => _LastWriteTime; public DateTime? DateTime => _DateTime; public DateTime? DateTimeDigitized => _DateTimeDigitized; public DateTime? DateTimeOriginal => _DateTimeOriginal; public long FileSize => _FileSize; public DateTime? GPSDateStamp => _GPSDateStamp; public int? Id => _Id; public int[] Indices => _Indices; public int? Height => _Height; public int? Width => _Width; public string Make => _Make; public int? MetadataGroups => _MetadataGroups; public string Model => _Model; public string Orientation => _Orientation; public string UniqueImageId => _UniqueImageId; [JsonConstructor] public Property(bool? wrongYear, DateTime creationTime, DateTime lastWriteTime, DateTime? dateTime, DateTime? dateTimeDigitized, DateTime? dateTimeOriginal, DateTime? gpsDateStamp, long fileSize, int? id, int[] indices, int? height, int? width, string make, int? metadataGroups, string model, string orientation, string uniqueImageId) { _CreationTime = creationTime; _DateTime = dateTime; _DateTimeDigitized = dateTimeDigitized; _DateTimeOriginal = dateTimeOriginal; _GPSDateStamp = gpsDateStamp; _FileSize = fileSize; _Height = height; _Id = id; _Indices = indices; _LastWriteTime = lastWriteTime; _Make = make; _MetadataGroups = metadataGroups; _Model = model; _Orientation = orientation; _Width = width; _WrongYear = wrongYear; _UniqueImageId = uniqueImageId; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } // ... }