2023-04-10 17:26:04 -07:00

65 lines
2.8 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Map.Models;
public class Configuration
{
public int FaceConfidencePercent { init; get; }
public int FaceDistancePermyriad { init; get; }
public string FacePartsFileNameExtension { init; get; }
public string FacesFileNameExtension { init; get; }
public string FacesHiddenFileNameExtension { init; get; }
public string MappingDefaultName { init; get; }
public int PersonBirthdayFirstYear { init; get; }
public string PersonBirthdayFormat { init; get; }
public char[] PersonCharacters { init; get; }
public int RangeDaysDeltaTolerance { init; get; }
public double RangeDistanceTolerance { init; get; }
public bool SaveSortingWithoutPerson { init; get; }
public string[] SkipNotSkipDirectories { init; get; }
public int SortingMaximumPerKey { init; get; }
public int SortingMinimumToUseSigma { init; get; }
[JsonConstructor]
public Configuration(int faceConfidencePercent,
int faceDistancePermyriad,
string mappingDefaultName,
int personBirthdayFirstYear,
string personBirthdayFormat,
char[] personCharacters,
int[] rangeDaysDeltaTolerance,
float[] rangeDistanceTolerance,
bool saveSortingWithoutPerson,
string[] skipNotSkipDirectories,
int sortingMaximumPerKey,
int sortingMinimumToUseSigma,
string facesFileNameExtension,
string facesHiddenFileNameExtension,
string facePartsFileNameExtension)
{
PersonCharacters = personCharacters;
MappingDefaultName = mappingDefaultName;
PersonBirthdayFormat = personBirthdayFormat;
SortingMaximumPerKey = sortingMaximumPerKey;
FaceConfidencePercent = faceConfidencePercent;
FaceDistancePermyriad = faceDistancePermyriad;
FacesFileNameExtension = facesFileNameExtension;
SkipNotSkipDirectories = skipNotSkipDirectories;
PersonBirthdayFirstYear = personBirthdayFirstYear;
RangeDistanceTolerance = rangeDistanceTolerance[1];
SaveSortingWithoutPerson = saveSortingWithoutPerson;
SortingMinimumToUseSigma = sortingMinimumToUseSigma;
RangeDaysDeltaTolerance = rangeDaysDeltaTolerance[1];
FacePartsFileNameExtension = facePartsFileNameExtension;
FacesHiddenFileNameExtension = facesHiddenFileNameExtension;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}