43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Date.Group.Models;
|
|
|
|
public class Configuration
|
|
{
|
|
|
|
protected readonly bool? _ByDay;
|
|
protected readonly bool? _ByHash;
|
|
protected readonly bool? _BySeason;
|
|
protected readonly bool? _ByWeek;
|
|
protected readonly bool? _KeepFullPath;
|
|
protected Property.Models.Configuration? _PropertyConfiguration;
|
|
public bool? ByDay => _ByDay;
|
|
public bool? ByHash => _ByHash;
|
|
public bool? BySeason => _BySeason;
|
|
public bool? ByWeek => _ByWeek;
|
|
public bool? KeepFullPath => _KeepFullPath;
|
|
public Property.Models.Configuration? PropertyConfiguration => _PropertyConfiguration;
|
|
|
|
[JsonConstructor]
|
|
public Configuration(bool? byDay, bool? byHash, bool? bySeason, bool? byWeek, bool? keepFullPath, Property.Models.Configuration? propertyConfiguration)
|
|
{
|
|
_ByDay = byDay;
|
|
_ByHash = byHash;
|
|
_BySeason = bySeason;
|
|
_ByWeek = byWeek;
|
|
_KeepFullPath = keepFullPath;
|
|
_PropertyConfiguration = propertyConfiguration;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
public void Set(Property.Models.Configuration propertyConfiguration) => _PropertyConfiguration = propertyConfiguration;
|
|
|
|
public void Update() => _PropertyConfiguration?.Update();
|
|
|
|
} |