2022-07-24 12:35:00 -07:00

43 lines
1.5 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Not.Copy.Copy.Models;
public class Configuration
{
protected string _CompareSource;
protected string _EmptyDestination;
protected Property.Models.Configuration? _PropertyConfiguration;
protected string _SelectedSource;
public string CompareSource => _CompareSource;
public string EmptyDestination => _EmptyDestination;
public Property.Models.Configuration? PropertyConfiguration => _PropertyConfiguration;
public string SelectedSource => _SelectedSource;
[JsonConstructor]
public Configuration(string compareSource, string emptyDestination, Property.Models.Configuration? propertyConfiguration, string selectedSource)
{
_CompareSource = compareSource;
_EmptyDestination = emptyDestination;
_PropertyConfiguration = propertyConfiguration;
_SelectedSource = selectedSource;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
public void Set(Property.Models.Configuration configuration) => _PropertyConfiguration = configuration;
public void Update()
{
_PropertyConfiguration?.Update();
_CompareSource = Path.GetFullPath(_CompareSource);
_SelectedSource = Path.GetFullPath(_SelectedSource);
_EmptyDestination = Path.GetFullPath(_EmptyDestination);
}
}