45 lines
1.6 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Shared.Models;
public record class FaceDistance : Properties.IFaceDistance
{
public double? Confidence { init; get; }
public object? Encoding { init; get; }
public int Id { init; get; }
public bool? IsWrongYear { init; get; }
public double? Length { init; get; }
public DateTime? MinimumDateTime { init; get; }
public int? NormalizedPixelPercentage { init; get; }
[JsonConstructor]
public FaceDistance(double? confidence, object? encoding, int id, bool? isWrongYear, double? length, DateTime? minimumDateTime, int? normalizedPixelPercentage)
{
Confidence = confidence;
Encoding = encoding;
Id = id;
IsWrongYear = isWrongYear;
Length = length;
MinimumDateTime = minimumDateTime;
NormalizedPixelPercentage = normalizedPixelPercentage;
}
public FaceDistance(double? confidence, object? encoding, int id, bool? isWrongYear, DateTime? minimumDateTime, int? normalizedPixelPercentage) :
this(confidence, encoding, id, isWrongYear, null, minimumDateTime, normalizedPixelPercentage)
{ }
public FaceDistance(FaceDistance faceDistance, double length) :
this(faceDistance.Confidence, null, faceDistance.Id, faceDistance.IsWrongYear, length, faceDistance.MinimumDateTime, faceDistance.NormalizedPixelPercentage)
{ }
public FaceDistance(object encoding) => Encoding = encoding;
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}