73 lines
1.7 KiB
C#
73 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using System.Threading.Tasks;
|
|
using MayShow.Helpers;
|
|
|
|
namespace MayShow.Models;
|
|
|
|
class PDFReportInfo : ChangeNotifier
|
|
{
|
|
private string? _baseFolder; // might be null; if set, use this to know where (initial) working dir is
|
|
private string _uuid;
|
|
private string _title;
|
|
private DateTime? _lastSaved;
|
|
|
|
public PDFReportInfo() : base()
|
|
{
|
|
_baseFolder = null;
|
|
_uuid = Guid.NewGuid().ToString();
|
|
_title = "";
|
|
_lastSaved = null;
|
|
}
|
|
|
|
public string? BaseFolder
|
|
{
|
|
get => _baseFolder;
|
|
set { _baseFolder = value; NotifyPropertyChanged(); }
|
|
}
|
|
|
|
public string UUID
|
|
{
|
|
get => _uuid;
|
|
set { _uuid = value; NotifyPropertyChanged(); }
|
|
}
|
|
|
|
public string Title
|
|
{
|
|
get => _title;
|
|
set { _title = value; NotifyPropertyChanged(); }
|
|
}
|
|
|
|
public DateTime? LastSaved
|
|
{
|
|
get => _lastSaved;
|
|
set { _lastSaved = value; NotifyPropertyChanged(); }
|
|
}
|
|
|
|
public void ResetUUID()
|
|
{
|
|
UUID = Guid.NewGuid().ToString();
|
|
}
|
|
|
|
public string GetWorkingPath()
|
|
{
|
|
if (string.IsNullOrWhiteSpace(BaseFolder))
|
|
{
|
|
return Path.Combine(Utilities.GetInternalDataPath(), UUID);
|
|
}
|
|
return BaseFolder;
|
|
}
|
|
|
|
public void DeleteInternalFolderFromDisk()
|
|
{
|
|
var path = Path.Combine(Utilities.GetInternalDataPath(), UUID);
|
|
if (Directory.Exists(path) && path != Utilities.GetInternalDataPath())
|
|
{
|
|
Directory.Delete(path, true);
|
|
}
|
|
}
|
|
} |