namespace ViewModel; using System.Collections.ObjectModel; using Model; using MyToolkitMVVM; public class ManagerVM : BaseViewModel { public ReadOnlyObservableCollection Books { get; set; } private readonly ObservableCollection books = new ObservableCollection(); public RelayCommand 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(o => LoadBooksFromManager()); LoadBooks.Execute(); Books = new ReadOnlyObservableCollection(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; }