Init
This commit is contained in:
79
Shared/Models/Storage.cs
Normal file
79
Shared/Models/Storage.cs
Normal file
@ -0,0 +1,79 @@
|
||||
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;
|
||||
} // ...
|
||||
|
||||
}
|
Reference in New Issue
Block a user