using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Map.Models; public class Configuration { public int FaceDistancePermyriad { init; get; } public double FaceDistanceTolerance { init; get; } public string MappingDefaultName { init; get; } public int PersonBirthdayFirstYear { init; get; } public string PersonBirthdayFormat { init; get; } public int SortingDaysDeltaTolerance { init; get; } public int SortingMaximumPerKey { init; get; } public int SortingMinimumToUseSigma { init; get; } public string FacesFileNameExtension { init; get; } public string FacePartsFileNameExtension { init; get; } public string FacesHiddenFileNameExtension { init; get; } [JsonConstructor] public Configuration(int faceDistancePermyriad, double faceDistanceTolerance, string mappingDefaultName, int personBirthdayFirstYear, string personBirthdayFormat, int sortingDaysDeltaTolerance, int sortingMaximumPerKey, int sortingMinimumToUseSigma, string facesFileNameExtension, string facesHiddenFileNameExtension, string facePartsFileNameExtension) { MappingDefaultName = mappingDefaultName; PersonBirthdayFormat = personBirthdayFormat; SortingMaximumPerKey = sortingMaximumPerKey; FaceDistancePermyriad = faceDistancePermyriad; FaceDistanceTolerance = faceDistanceTolerance; FacesFileNameExtension = facesFileNameExtension; PersonBirthdayFirstYear = personBirthdayFirstYear; SortingMinimumToUseSigma = sortingMinimumToUseSigma; SortingDaysDeltaTolerance = sortingDaysDeltaTolerance; FacePartsFileNameExtension = facePartsFileNameExtension; FacesHiddenFileNameExtension = facesHiddenFileNameExtension; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }