using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Map.Models; public class Configuration { public int FaceDistanceHiddenImageFactor { init; get; } public int FaceDistancePermyriad { init; get; } public double FaceDistanceMinimumConfidence { init; get; } public double FaceDistanceTolerance { init; get; } public int LocationDigits { init; get; } public int LocationFactor { init; get; } public int MapLogicSigma { init; get; } public string MappingDefaultName { init; get; } public bool MappingMoveUnableToMatch { init; get; } public bool MappingSaveNotMapped { init; get; } public bool MappingSaveMapped { init; get; } public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping { init; get; } public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping { init; get; } public int PersonBirthdayFirstYear { init; get; } public string PersonBirthdayFormat { init; get; } public string PersonKeyFormat { init; get; } public int SortingDaysDeltaTolerance { init; get; } public int SortingMaximumPerFaceShouldBeHigh { init; get; } public int SortingMaximumPerKey { init; get; } public int SortingSigma { init; get; } [JsonConstructor] public Configuration(int faceDistanceHiddenImageFactor, int faceDistancePermyriad, double faceDistanceMinimumConfidence, double faceDistanceTolerance, int locationDigits, int locationFactor, int mapLogicSigma, string mappingDefaultName, bool mappingMoveUnableToMatch, bool mappingSaveNotMapped, bool mappingSaveMapped, bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping, bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping, int personBirthdayFirstYear, string personBirthdayFormat, string personKeyFormat, int sortingDaysDeltaTolerance, int sortingMaximumPerFaceShouldBeHigh, int sortingMaximumPerKey, int sortingSigma) { FaceDistanceHiddenImageFactor = faceDistanceHiddenImageFactor; FaceDistancePermyriad = faceDistancePermyriad; FaceDistanceMinimumConfidence = faceDistanceMinimumConfidence; FaceDistanceTolerance = faceDistanceTolerance; LocationDigits = locationDigits; LocationFactor = locationFactor; MapLogicSigma = mapLogicSigma; MappingDefaultName = mappingDefaultName; MappingMoveUnableToMatch = mappingMoveUnableToMatch; MappingSaveNotMapped = mappingSaveNotMapped; MappingSaveMapped = mappingSaveMapped; MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping; MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping; PersonBirthdayFirstYear = personBirthdayFirstYear; PersonBirthdayFormat = personBirthdayFormat; PersonKeyFormat = personKeyFormat; SortingDaysDeltaTolerance = sortingDaysDeltaTolerance; SortingMaximumPerFaceShouldBeHigh = sortingMaximumPerFaceShouldBeHigh; SortingMaximumPerKey = sortingMaximumPerKey; SortingSigma = sortingSigma; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }