43 lines
1.5 KiB
C#
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 SetAndUpdate(Property.Models.Configuration configuration)
|
|
{
|
|
_PropertyConfiguration.Update();
|
|
_CompareSource = Path.GetFullPath(_CompareSource);
|
|
_SelectedSource = Path.GetFullPath(_SelectedSource);
|
|
_EmptyDestination = Path.GetFullPath(_EmptyDestination);
|
|
}
|
|
|
|
} |