|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.IO;
using CBR.Core.Helpers;
using System.Xml.Serialization;
namespace CBR.Core.Models
{
[Serializable]
public class Catalog
{
#region ----------------CONSTRUCTORS----------------
public Catalog()
{
}
public Catalog(string path)
{
CatalogFilePath = path;
IsDirty = true;
}
#endregion
#region -----------------PROPERTIES-----------------
private string _bookFolder = string.Empty;
/// <summary>
/// Which folder to scan to get books
/// </summary>
public string BookFolder
{
get { return _bookFolder; }
set { _bookFolder = value; IsDirty = true; }
}
private List<string> _BookInfoFilePath = null;
/// <summary>
/// All internal file book information files
/// </summary>
public List<string> BookInfoFilePath
{
get { if (_BookInfoFilePath == null) _BookInfoFilePath = new List<string>(); return _BookInfoFilePath; }
set { _BookInfoFilePath = value; IsDirty = true; }
}
[field: NonSerialized]
private string _catalogFilePath = string.Empty;
/// <summary>
/// The file path to this catalog file
/// </summary>
public string CatalogFilePath
{
get { return _catalogFilePath; }
set { _catalogFilePath = value; }
}
[field: NonSerialized]
private ObservableCollection<Book> _Books = null;
/// <summary>
/// Book object list in the catalog
/// </summary>
public ObservableCollection<Book> Books
{
get { if (_Books == null) _Books = new ObservableCollection<Book>(); return _Books; }
set { _Books = value; IsDirty = true; }
}
/// <summary>
/// As changed for some reasons, will have to be saved
/// </summary>
[field: NonSerialized]
private bool _IsDirty = false;
public bool IsDirty
{
get { return _IsDirty; }
set { _IsDirty = value; }
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
WPF and MVVM fan, I practice C # in all its forms from the beginning of the NET Framework without mentioning C ++ / MFC and other software packages such as databases, ASP, WCF, Web & Windows services, Application, and now Core and UWP.
In my wasted hours, I am guilty of having fathered C.B.R. and its cousins C.B.R. for WinRT and UWP on the Windows store.
But apart from that, I am a great handyman ... the house, a rocket stove to heat the jacuzzi and the last one: a wood oven for pizza, bread, and everything that goes inside
https://guillaumewaser.wordpress.com/
https://fouretcompagnie.wordpress.com/