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