Files
.config
.vscode
BlurHash
BlurHash.Core
BlurHash.System.Drawing.Common
Compare
Copy-Distinct
Date-Group
Delete-By-Distinct
Delete-By-Relative
Distance
Drag-Drop-Explorer
Drag-Drop-Move
Drag-Drop-Search
Drag-Drop-Set-Property-Item
Duplicate-Search
Face
FaceParts
FaceRecognitionDotNet
Instance
Map
Metadata
Metadata-Query
Mirror-Length
Move-By-Id
Offset-Date-Time-Original
PhotoPrism
PrepareForOld
Property
Property-Compare
Rename
Resize
Set-Created-Date
Shared
.foam
.vscode
Models
Methods
Properties
Stateless
%ClassName%.cs .ai
AviDirectory.cs
Console.cs
Container.cs
DatabaseFile.cs
DirectoryFileSystem.cs
DistanceHolder.cs
ExifDirectory.cs
ExifDirectoryBase.cs
Face.cs
FaceDistance.cs
FaceDistanceContainer.cs
FaceEncoding.cs
FaceFileSystem.cs
FacePoint.cs
FileHolder.cs
FileMetadataDirectory.cs
FilePair.cs
FilePath.cs
FileSystem.cs
GifHeaderDirectory.cs
GpsDirectory.cs
Item.cs
JpegDirectory.cs
Location.cs
LocationContainer.cs
MakernoteDirectory.cs
Mapping.cs
MappingFromFilter.cs
MappingFromFilterPost.cs
MappingFromFilterPre.cs
MappingFromItem.cs
MappingFromLocation.cs
MappingFromPerson.cs
MappingFromPhotoPrism.cs
Marker.cs
MatchNginx.cs
MetadataFile.cs
MetadataFileCollection.cs
MetadataFileId.cs
OutputResolution.cs
PersonBirthday.cs
PersonContainer.cs
PersonDirectory.cs
PhotoshopDirectory.cs
PngDirectory.cs
Property.cs
QuickTimeMovieHeaderDirectory.cs
QuickTimeTrackHeaderDirectory.cs
Relation.cs
RelationContainer.cs
RelativeLocation.cs
RelativePaths.cs
SaveContainer.cs
SaveShortcutsForOutputResolutions.cs
Sorting.cs
SortingContainer.cs
WebPDirectory.cs
XPath.cs
Phares
Sample-Data
View-by-Distance.Shared.csproj
Tests
TestsWithFaceRecognitionDotNet
ThumbHash
.editorconfig
.gitattributes
.gitignore
.prettierignore
.txt
View-by-Distance-MKLink-Console.sln
package-lock.json
package.json
view-by-distance-mklink-con…/Shared/Models/SaveContainer.cs
2023-12-24 11:29:36 -07:00

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