You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.4 KiB
66 lines
1.4 KiB
namespace ViewModel;
|
|
|
|
using System.Collections.ObjectModel;
|
|
using Model;
|
|
using MyToolkitMVVM;
|
|
|
|
public class ManagerVM : BaseViewModel<Manager>
|
|
{
|
|
public ReadOnlyObservableCollection<BookVM> Books { get; set; }
|
|
|
|
private readonly ObservableCollection<BookVM> books = new ObservableCollection<BookVM>();
|
|
|
|
public RelayCommand<string> LoadBooks { get; private set; }
|
|
|
|
public ManagerVM(ILibraryManager libraryManager,IUserLibraryManager userLibraryManager)
|
|
:this(new Manager(libraryManager,userLibraryManager))
|
|
{}
|
|
|
|
public async void LoadBooksFromManager()
|
|
{
|
|
var result = await Model.GetBooksFromCollection(index, 10, "");
|
|
NbBook = (int)result.count;
|
|
books.Clear();
|
|
|
|
foreach (Book book in result.books)
|
|
{
|
|
books.Add(new BookVM(book));
|
|
}
|
|
}
|
|
|
|
public ManagerVM(Manager model) : base(model)
|
|
{
|
|
Model = model;
|
|
LoadBooks = new RelayCommand<string>(o => LoadBooksFromManager());
|
|
LoadBooks.Execute();
|
|
Books = new ReadOnlyObservableCollection<BookVM>(books);
|
|
}
|
|
|
|
public int Index
|
|
{
|
|
get => index;
|
|
set => SetProperty(ref index, value);
|
|
|
|
}
|
|
private int index;
|
|
|
|
public int Count
|
|
{
|
|
get => count;
|
|
set => SetProperty(ref count, value);
|
|
|
|
}
|
|
private int count;
|
|
|
|
|
|
public int NbBook
|
|
{
|
|
get => nbBook;
|
|
set => SetProperty(ref nbBook, value);
|
|
}
|
|
|
|
private int nbBook;
|
|
|
|
}
|
|
|