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