2022-08-29 19:30:36 -07:00

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;
}
}