61 lines
2.7 KiB
C#
61 lines
2.7 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class SaveContainer
|
|
{
|
|
|
|
public string CheckFile { init; get; }
|
|
public string Directory { init; get; }
|
|
public FileHolder? FaceFileHolder { init; get; }
|
|
public FileHolder? HiddenFaceFileHolder { init; get; }
|
|
public FileHolder? FacePartsFileHolder { init; get; }
|
|
public bool MakeAllHidden { init; get; }
|
|
public FileHolder? ResizedFileHolder { init; get; }
|
|
public string ShortcutFile { init; get; }
|
|
|
|
[JsonConstructor]
|
|
public SaveContainer(string checkFile, string directory, FileHolder? faceFileHolder, FileHolder? hiddenFaceFileHolder, FileHolder? facePartsFileHolder, bool makeAllHidden, FileHolder? resizedFileHolder, string shortcutFile)
|
|
{
|
|
CheckFile = checkFile;
|
|
Directory = directory;
|
|
FaceFileHolder = faceFileHolder;
|
|
HiddenFaceFileHolder = hiddenFaceFileHolder;
|
|
FacePartsFileHolder = facePartsFileHolder;
|
|
MakeAllHidden = makeAllHidden;
|
|
ResizedFileHolder = resizedFileHolder;
|
|
ShortcutFile = shortcutFile;
|
|
}
|
|
|
|
public SaveContainer(string directory) :
|
|
this(string.Empty, directory, null, null, null, false, null, string.Empty)
|
|
{ }
|
|
|
|
public SaveContainer(string directory, string locationContainersFile) :
|
|
this(string.Empty, directory, null, null, null, false, Stateless.Methods.IFileHolder.Get(locationContainersFile), Path.Combine(directory, $"{Path.GetFileName(locationContainersFile)}.lnk"))
|
|
{ }
|
|
|
|
public SaveContainer(string directory, FileHolder? faceFileHolder, FileHolder? resizedFileHolder, string shortcutFile) :
|
|
this(string.Empty, directory, faceFileHolder, null, null, true, resizedFileHolder, shortcutFile)
|
|
{ }
|
|
|
|
public SaveContainer(string checkFile, string directory, FileHolder faceFileHolder) :
|
|
this(checkFile, directory, faceFileHolder, null, null, false, null, string.Empty)
|
|
{ }
|
|
|
|
public SaveContainer(FileHolder resizedFileHolder, string checkFile, string directory) :
|
|
this(checkFile, directory, null, null, null, false, resizedFileHolder, string.Empty)
|
|
{ }
|
|
|
|
public SaveContainer(string checkFile, string directory, FileHolder? faceFileHolder, FileHolder? hiddenFaceFileHolder, FileHolder? facePartsFileHolder, FileHolder? resizedFileHolder, string shortcutFile) :
|
|
this(checkFile, directory, faceFileHolder, hiddenFaceFileHolder, facePartsFileHolder, false, resizedFileHolder, shortcutFile)
|
|
{ }
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
} |