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.
PocketBook/Sources/VMWrapper/BookViewModel.cs

50 lines
1.4 KiB

using Model;
using System.Collections.ObjectModel;
namespace VMWrapper
{
public class BookViewModel
{
private readonly ILibraryManager data;
public ObservableCollection<AuteurGroup> AuteurGroups { get; private set; } =
new ObservableCollection<AuteurGroup>();
public BookViewModel(ILibraryManager data)
{
this.data = data;
LoadBooksAsync();
}
private async void LoadBooksAsync()
{
try
{
var (totalA, authors) = await data.GetAuthorsByName("", 0, 5);
foreach (Author author in authors)
{
var books = data.GetBooksByAuthor(author.Name, 0, 5).Result.Item2;
var observableBooks = new ObservableCollection<Book>(books);
AuteurGroups.Add(new AuteurGroup(author.Name, observableBooks));
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
public class AuteurGroup : ObservableCollection<Book>
{
public string Name { get; private set; }
public AuteurGroup(string name, ObservableCollection<Book> books)
: base(books)
{
Name = name;
}
}
}
}