34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
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;
|
|
}
|
|
|
|
} |