49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
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;
|
|
}
|
|
|
|
} |