using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Copy.Distinct.Models; public class AppSettings { public string Company { init; get; } public bool CopyDuplicates { init; get; } public string CopyTo { init; get; } public int MaxDegreeOfParallelism { init; get; } public string ResultDirectoryKey { init; get; } public string WorkingDirectoryName { init; get; } [JsonConstructor] public AppSettings(string company, bool copyDuplicates, string copyTo, int maxDegreeOfParallelism, string resultDirectoryKey, string workingDirectoryName) { Company = company; CopyTo = copyTo; CopyDuplicates = copyDuplicates; MaxDegreeOfParallelism = maxDegreeOfParallelism; ResultDirectoryKey = resultDirectoryKey; WorkingDirectoryName = workingDirectoryName; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }