51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class FileSystem : Properties.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;
|
|
}
|
|
|
|
public string GetDate()
|
|
{
|
|
string result = _LastModified.ToString("MM/dd/yyyy hh:mm:ss tt");
|
|
return result;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
} |