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

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