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 string CopyTo { init; get; }
    public int MaxDegreeOfParallelism { init; get; }
    public string WorkingDirectoryName { init; get; }

    [JsonConstructor]
    public AppSettings(string company,
                       string copyTo,
                       int maxDegreeOfParallelism,
                       string workingDirectoryName)
    {
        Company = company;
        CopyTo = copyTo;
        MaxDegreeOfParallelism = maxDegreeOfParallelism;
        WorkingDirectoryName = workingDirectoryName;
    }

    public override string ToString()
    {
        string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
        return result;
    }

}