using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public class Sorting : Properties.ISorting { public double? Confidence { init; get; } public double? Distance { init; get; } public int? FaceEncoding { init; get; } public int Id { init; get; } public int? NormalizedPixelPercentage { init; get; } [JsonConstructor] public Sorting(double? confidence, double? distance, int? faceEncoding, int id, int? normalizedPixelPercentage) { Confidence = confidence; Distance = distance; FaceEncoding = faceEncoding; Id = id; NormalizedPixelPercentage = normalizedPixelPercentage; } public Sorting(double? confidence, int id, int? normalizedPixelPercentage) { Confidence = confidence; Distance = null; FaceEncoding = int.MaxValue; Id = id; NormalizedPixelPercentage = normalizedPixelPercentage; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } public Sorting(Sorting sorting, double? distance) { Confidence = sorting.Confidence; Distance = distance; FaceEncoding = null; Id = sorting.Id; NormalizedPixelPercentage = sorting.NormalizedPixelPercentage; } }