FileLiberator is now DB ignorant. IProcessables update UserDaefinedData which notifies the view model.

This commit is contained in:
Michael Bucari-Tovo 2021-08-21 20:49:36 -06:00
parent d826885728
commit 40b3a9990d
8 changed files with 52 additions and 28 deletions

View file

@ -42,7 +42,11 @@ namespace DataLayer
public string Tags
{
get => _tags;
set => _tags = sanitize(value);
set
{
_tags = sanitize(value);
ItemChanged?.Invoke(this, nameof(Tags));
}
}
public IEnumerable<string> TagsEnumerated => Tags == "" ? new string[0] : Tags.Split(null as char[], StringSplitOptions.RemoveEmptyEntries);
@ -99,10 +103,38 @@ namespace DataLayer
#endregion
#region LiberatedStatuses
public LiberatedStatus BookStatus { get; set; }
public LiberatedStatus? PdfStatus { get; set; }
#endregion
private LiberatedStatus _bookStatus;
private LiberatedStatus? _pdfStatus;
public LiberatedStatus BookStatus
{
get => _bookStatus;
set
{
if (_bookStatus != value)
{
_bookStatus = value;
ItemChanged?.Invoke(this, nameof(BookStatus));
}
}
}
public LiberatedStatus? PdfStatus
{
get => _pdfStatus;
set
{
if (_pdfStatus != value)
{
_pdfStatus = value;
ItemChanged?.Invoke(this, nameof(PdfStatus));
}
}
}
#endregion
/// <summary>
/// Occurs when <see cref="Tags"/>, <see cref="BookStatus"/>, or <see cref="PdfStatus"/> values change.
/// </summary>
public static event EventHandler<string> ItemChanged;
public override string ToString() => $"{Book} {Rating} {Tags}";
}
}