2022-05-08 12:28:50 -07:00

54 lines
2.0 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
using View_by_Distance.Shared.Models.Methods;
namespace View_by_Distance.Shared.Models;
public class FileSystem : Properties.IFileSystem, IFileSystem
{
protected string _ClassName;
protected string _DataDisplayFileName;
protected string _DataFullFileName;
protected string _Display;
protected DateTime _LastModified;
public string ClassName => _ClassName;
public string DataDisplayFileName => _DataDisplayFileName;
public string DataFullFileName => _DataFullFileName;
public string Display => _Display;
public DateTime LastModified => _LastModified;
[JsonConstructor]
public FileSystem(string className, string dataDisplayFileName, string dataFullFileName, string display, DateTime lastModified)
{
_ClassName = className;
_DataDisplayFileName = dataDisplayFileName;
_DataFullFileName = dataFullFileName;
_Display = display;
_LastModified = lastModified;
}
public FileSystem(string dataFullFileName, Exception ex)
{
_ClassName = string.Empty;
_DataDisplayFileName = string.Empty;
_DataFullFileName = dataFullFileName;
_Display = string.Concat(ex.Message, Environment.NewLine, ex.StackTrace, Environment.NewLine, dataFullFileName);
_LastModified = DateTime.Now;
}
string IFileSystem.GetDate()
{
string result = _LastModified.ToString("MM/dd/yyyy hh:mm:ss tt");
return result;
}
List<FileSystem> Stateless.Methods.IFileSystem.TestStatic_GetFileSystemCollection(string requestPath, string rootResultsDirectory, (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) tuple, string[] directories, string[] files, bool all) => throw new NotImplementedException();
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}