.vscode
Compare
Date-Group
Instance
Metadata
Not-Copy-Copy
PrepareForOld
Property
Property-Compare
Resize
Shared
.vscode
Models
Methods
Properties
Stateless
%ClassName%.cs .ai
Console.cs
DirectoryFileSystem.cs
Face.cs
FaceEncoding.cs
FaceFileSystem.cs
FacePoint.cs
FileSystem.cs
Location.cs
MetadataFile.cs
MetadataFileCollection.cs
MetadataFileId.cs
Navigate.cs
OutputResolution.cs
Person.cs
PersonAddress.cs
PersonAddressCity.cs
PersonAddressState.cs
PersonAddressStreet.cs
PersonAddressZipCode.cs
PersonBirthday.cs
PersonComment.cs
PersonEmail.cs
PersonId.cs
PersonImport.cs
PersonName.cs
PersonNameAlias.cs
PersonNameFirst.cs
PersonNameLast.cs
PersonNameMiddle.cs
PersonNumber.cs
PersonURL.cs
Property.cs
RelativePaths.cs
Storage.cs
Phares
Sample-Data
View-by-Distance.Shared.csproj
Tests
.editorconfig
.gitattributes
.gitignore
.txt
View-by-Distance-MKLink-Console.sln
package.json
79 lines
3.8 KiB
C#
79 lines
3.8 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class Storage : Properties.IStorage
|
|
{
|
|
|
|
protected string _DistanceResultRootDirectory;
|
|
protected string _FaceRootDirectory;
|
|
protected string _IndexInfoRootDirectory;
|
|
protected string _MetadataRootDirectory;
|
|
protected string _PeopleRootDirectory;
|
|
protected string _ResizeRootDirectory;
|
|
protected string _RootDirectory;
|
|
protected string _RootResultsDirectory;
|
|
protected string _UrlRoot;
|
|
public string DistanceResultRootDirectory => _DistanceResultRootDirectory;
|
|
public string FaceRootDirectory => _FaceRootDirectory;
|
|
public string IndexInfoRootDirectory => _IndexInfoRootDirectory;
|
|
public string MetadataRootDirectory => _MetadataRootDirectory;
|
|
public string PeopleRootDirectory => _PeopleRootDirectory;
|
|
public string ResizeRootDirectory => _ResizeRootDirectory;
|
|
public string RootDirectory => _RootDirectory;
|
|
public string RootResultsDirectory => _RootResultsDirectory;
|
|
public string UrlRoot => _UrlRoot;
|
|
|
|
[JsonConstructor]
|
|
public Storage(string distanceResultRootDirectory, string faceRootDirectory, string indexInfoRootDirectory, string metadataRootDirectory, string peopleRootDirectory, string resizeRootDirectory, string rootDirectory, string rootResultsDirectory, string urlRoot)
|
|
{
|
|
_DistanceResultRootDirectory = distanceResultRootDirectory;
|
|
_FaceRootDirectory = faceRootDirectory;
|
|
_IndexInfoRootDirectory = indexInfoRootDirectory;
|
|
_MetadataRootDirectory = metadataRootDirectory;
|
|
_PeopleRootDirectory = peopleRootDirectory;
|
|
_ResizeRootDirectory = resizeRootDirectory;
|
|
_RootDirectory = rootDirectory;
|
|
_RootResultsDirectory = rootResultsDirectory;
|
|
_UrlRoot = urlRoot;
|
|
string fullRootResultsDirectory;
|
|
if (rootResultsDirectory.StartsWith(rootDirectory))
|
|
fullRootResultsDirectory = rootResultsDirectory;
|
|
else
|
|
fullRootResultsDirectory = string.Concat(rootDirectory, rootResultsDirectory);
|
|
_RootResultsDirectory = fullRootResultsDirectory;
|
|
if (!distanceResultRootDirectory.StartsWith(rootDirectory))
|
|
_DistanceResultRootDirectory = string.Concat(fullRootResultsDirectory, distanceResultRootDirectory);
|
|
if (!faceRootDirectory.StartsWith(rootDirectory))
|
|
_FaceRootDirectory = string.Concat(fullRootResultsDirectory, faceRootDirectory);
|
|
if (!indexInfoRootDirectory.StartsWith(rootDirectory))
|
|
_IndexInfoRootDirectory = string.Concat(fullRootResultsDirectory, indexInfoRootDirectory);
|
|
if (!metadataRootDirectory.StartsWith(rootDirectory))
|
|
_MetadataRootDirectory = string.Concat(fullRootResultsDirectory, metadataRootDirectory);
|
|
if (!peopleRootDirectory.StartsWith(rootDirectory))
|
|
_PeopleRootDirectory = string.Concat(fullRootResultsDirectory, peopleRootDirectory);
|
|
if (!resizeRootDirectory.StartsWith(rootDirectory))
|
|
_ResizeRootDirectory = string.Concat(fullRootResultsDirectory, resizeRootDirectory);
|
|
}
|
|
|
|
public Storage(string rootDirectory, string rootResultsDirectory, string peopleRootDirectory)
|
|
{
|
|
_DistanceResultRootDirectory = "distanceResultRootDirectory";
|
|
_FaceRootDirectory = "faceRootDirectory";
|
|
_IndexInfoRootDirectory = "indexInfoRootDirectory";
|
|
_MetadataRootDirectory = "metadataRootDirectory";
|
|
_PeopleRootDirectory = peopleRootDirectory;
|
|
_ResizeRootDirectory = "resizeRootDirectory";
|
|
_RootDirectory = rootDirectory;
|
|
_RootResultsDirectory = rootResultsDirectory;
|
|
_UrlRoot = "urlRoot";
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
} // ...
|
|
|
|
} |