53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class SaveContainer
|
|
{
|
|
|
|
protected readonly string _CheckFile;
|
|
protected readonly string _Directory;
|
|
protected readonly FileHolder? _FaceFileHolder;
|
|
protected readonly FileHolder? _HiddenFaceFileHolder;
|
|
protected readonly string _Json;
|
|
protected readonly FileHolder? _FacePartsFileHolder;
|
|
protected readonly FileHolder? _ResizedFileHolder;
|
|
protected readonly string _ShortcutFile;
|
|
public string CheckFile => _CheckFile;
|
|
public string Directory => _Directory;
|
|
public FileHolder? FaceFileHolder => _FaceFileHolder;
|
|
public FileHolder? HiddenFaceFileHolder => _HiddenFaceFileHolder;
|
|
public string Json => _Json;
|
|
public FileHolder? FacePartsFileHolder => _FacePartsFileHolder;
|
|
public FileHolder? ResizedFileHolder => _ResizedFileHolder;
|
|
public string ShortcutFile => _ShortcutFile;
|
|
|
|
[JsonConstructor]
|
|
public SaveContainer(string checkFile, string directory, FileHolder? faceFileHolder, FileHolder? hiddenFaceFileHolder, string json, FileHolder? facePartsFileHolder, FileHolder? resizedFileHolder, string shortcutFile)
|
|
{
|
|
_CheckFile = checkFile;
|
|
_Directory = directory;
|
|
_FaceFileHolder = faceFileHolder;
|
|
_HiddenFaceFileHolder = hiddenFaceFileHolder;
|
|
_Json = json;
|
|
_FacePartsFileHolder = facePartsFileHolder;
|
|
_ResizedFileHolder = resizedFileHolder;
|
|
_ShortcutFile = shortcutFile;
|
|
}
|
|
|
|
public SaveContainer(string directory) :
|
|
this(string.Empty, directory, null, null, string.Empty, null, null, string.Empty)
|
|
{ }
|
|
|
|
public SaveContainer(string checkFile, string directory, string json) :
|
|
this(checkFile, directory, null, null, json, null, null, string.Empty)
|
|
{ }
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
} |