Files
.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
view-by-distance-mklink-con…/Shared/Models/Storage.cs
2022-05-08 12:28:50 -07:00

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