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