using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Delete.By.Distinct.Models; public class AppSettings { public string Company { init; get; } public string CompareRootDirectory { init; get; } public int MaxDegreeOfParallelism { init; get; } public string OutputExtension { init; get; } public bool RecycleOption { init; get; } public string SearchPattern { init; get; } public string WorkingDirectoryName { init; get; } [JsonConstructor] public AppSettings(string company, string compareRootDirectory, int maxDegreeOfParallelism, string outputExtension, bool recycleOption, string searchPattern, string workingDirectoryName) { Company = company; CompareRootDirectory = compareRootDirectory; MaxDegreeOfParallelism = maxDegreeOfParallelism; OutputExtension = outputExtension; RecycleOption = recycleOption; SearchPattern = searchPattern; WorkingDirectoryName = workingDirectoryName; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }