49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using View_by_Distance.FaceRecognitionDotNet;
|
|
using View_by_Distance.Property.Models;
|
|
using View_by_Distance.Shared.Models.Properties;
|
|
|
|
namespace View_by_Distance.Instance.Models;
|
|
|
|
internal class DistanceHolder
|
|
{
|
|
|
|
public IFace Face { init; get; }
|
|
public FaceEncoding? FaceEncoding { init; get; }
|
|
public FileHolder FileHolder { init; get; }
|
|
public int Id { init; get; }
|
|
public string JSONDirectory { init; get; }
|
|
public ILocation Location { init; get; }
|
|
public string TSVDirectory { init; get; }
|
|
public double Sort { get; set; }
|
|
|
|
[JsonConstructor]
|
|
public DistanceHolder(
|
|
IFace face,
|
|
FaceEncoding? faceEncoding,
|
|
FileHolder fileHolder,
|
|
int id,
|
|
string jsonDirectory,
|
|
ILocation location,
|
|
string tsvDirectory
|
|
)
|
|
{
|
|
FileHolder = fileHolder;
|
|
Sort = double.MaxValue;
|
|
Face = face;
|
|
FaceEncoding = faceEncoding;
|
|
Id = id;
|
|
JSONDirectory = jsonDirectory;
|
|
Location = location;
|
|
TSVDirectory = tsvDirectory;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
}
|