53 lines
2.2 KiB
C#
53 lines
2.2 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public record class FaceDistance : Properties.IFaceDistance
|
|
{
|
|
|
|
public int? ConfidencePercent { init; get; }
|
|
public DateTime DateTimeOriginalThenMinimumDateTime { init; get; }
|
|
public object? Encoding { init; get; }
|
|
public MappingFromFilterPost? MappingFromFilterPost { init; get; }
|
|
public int? Id { init; get; }
|
|
public bool? IsWrongYear { init; get; }
|
|
public double? Length { init; get; }
|
|
public int? WholePercentages { init; get; }
|
|
|
|
[JsonConstructor]
|
|
public FaceDistance(int? confidencePercent, DateTime dateTimeOriginalThenMinimumDateTime, object? encoding, MappingFromFilterPost? mappingFromFilterPost, int? id, bool? isWrongYear, double? length, int? wholePercentages)
|
|
{
|
|
ConfidencePercent = confidencePercent;
|
|
DateTimeOriginalThenMinimumDateTime = dateTimeOriginalThenMinimumDateTime;
|
|
Encoding = encoding;
|
|
MappingFromFilterPost = mappingFromFilterPost;
|
|
Id = id;
|
|
IsWrongYear = isWrongYear;
|
|
Length = length;
|
|
WholePercentages = wholePercentages;
|
|
}
|
|
|
|
public FaceDistance(int? confidencePercent, DateTime dateTimeOriginalThenMinimumDateTime, object? encoding, MappingFromFilterPost? mappingFromFilterPost, int id, bool? isWrongYear, int? wholePercentages) :
|
|
this(confidencePercent, dateTimeOriginalThenMinimumDateTime, encoding, mappingFromFilterPost, id, isWrongYear, null, wholePercentages)
|
|
{ }
|
|
|
|
public FaceDistance(FaceDistance faceDistance, double length) :
|
|
this(faceDistance.ConfidencePercent, faceDistance.DateTimeOriginalThenMinimumDateTime, null, faceDistance.MappingFromFilterPost, faceDistance.Id, faceDistance.IsWrongYear, length, faceDistance.WholePercentages)
|
|
{ }
|
|
|
|
public FaceDistance(object encoding) => Encoding = encoding;
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, FaceDistanceSourceGenerationContext.Default.FaceDistance);
|
|
return result;
|
|
}
|
|
|
|
}
|
|
|
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
|
[JsonSerializable(typeof(FaceDistance))]
|
|
internal partial class FaceDistanceSourceGenerationContext : JsonSerializerContext
|
|
{
|
|
} |