using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public class DirectoryFileSystem : FileSystem, Properties.IDirectoryFileSystem { [JsonConstructor] public DirectoryFileSystem(string className, string dataDisplayFileName, string dataFullFileName, string display, DateTime lastModified) : base(className, dataDisplayFileName, dataFullFileName, display, lastModified) { _ClassName = className; _DataDisplayFileName = dataDisplayFileName; _DataFullFileName = dataFullFileName; _Display = display; _LastModified = lastModified; } internal DirectoryFileSystem(DirectoryInfo directoryInfo) : base(string.Empty, string.Empty, string.Empty, string.Empty, DateTime.MinValue) { _ClassName = "directory"; _DataDisplayFileName = directoryInfo.Name; _DataFullFileName = directoryInfo.FullName; _Display = directoryInfo.Name; _LastModified = directoryInfo.LastWriteTime; } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }