46 lines
1.8 KiB
C#
46 lines
1.8 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 DirectoryFileSystem : Models.FileSystem, Properties.IDirectoryFileSystem, IDirectoryFileSystem
|
|
{
|
|
|
|
// protected new string _ClassName;
|
|
// protected new string _DataDisplayFileName;
|
|
// protected new string _DataFullFileName;
|
|
// protected new string _Display;
|
|
// protected new DateTime _LastModified;
|
|
// public new string ClassName => _ClassName;
|
|
// public new string DataDisplayFileName => _DataDisplayFileName;
|
|
// public new string DataFullFileName => _DataFullFileName;
|
|
// public new string Display => _Display;
|
|
// public new DateTime LastModified => _LastModified;
|
|
|
|
[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;
|
|
}
|
|
|
|
} |