ADD : Correctifs sur filtrages & SelectedStatus

commands-19-09
Lou BRODA 2 years ago
parent 6d16193450
commit c3922a7200

@ -39,6 +39,7 @@
<CollectionView ItemsSource="{Binding FiltrageNoteVM.Manager.AllRatings}" <CollectionView ItemsSource="{Binding FiltrageNoteVM.Manager.AllRatings}"
SelectionMode="Single" SelectionMode="Single"
SelectedItem="{Binding FiltrageNoteVM.Manager.SelectedRating}"
SelectionChangedCommand="{Binding FiltrageNoteVM.NavigateRatingPageCommand}"> SelectionChangedCommand="{Binding FiltrageNoteVM.NavigateRatingPageCommand}">
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate x:DataType="viewModel:RatingsVM"> <DataTemplate x:DataType="viewModel:RatingsVM">

@ -106,6 +106,7 @@ namespace LivreLand.ViewModel
private void ShowPicker() private void ShowPicker()
{ {
Manager.GetAllStatusCommand.Execute(null); Manager.GetAllStatusCommand.Execute(null);
Manager.SelectedStatus = this.Book.Status;
IsPickerVisible = true; IsPickerVisible = true;
} }

@ -461,6 +461,7 @@ namespace ViewModels
GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key); GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key);
GroupedStatusBooks = AllBooks.GroupBy(b => b.Status).OrderBy(group => group.Key); GroupedStatusBooks = AllBooks.GroupBy(b => b.Status).OrderBy(group => group.Key);
} }
OnPropertyChanged(nameof(GroupedBooks));
OnPropertyChanged(nameof(AllBooks)); OnPropertyChanged(nameof(AllBooks));
} }
@ -503,7 +504,7 @@ namespace ViewModels
private async Task GetBooksByAuthor() private async Task GetBooksByAuthor()
{ {
var result = await Model.GetBooksByAuthor(SelectedAuthor.Name, Index, Count); var result = await Model.GetBooksByAuthor(SelectedAuthor.Name, 0, 1000);
NbBooks = result.count; NbBooks = result.count;
IEnumerable<Book> someBooks = result.books; IEnumerable<Book> someBooks = result.books;
books.Clear(); books.Clear();
@ -512,6 +513,7 @@ namespace ViewModels
books.Add(b); books.Add(b);
GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key); GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key);
} }
OnPropertyChanged(nameof(GroupedBooks));
OnPropertyChanged(nameof(AllBooks)); OnPropertyChanged(nameof(AllBooks));
} }
@ -534,7 +536,7 @@ namespace ViewModels
private async Task GetBooksByDate() private async Task GetBooksByDate()
{ {
var result = await Model.GetBooksFromCollection(Index, Count); var result = await Model.GetBooksFromCollection(0, 1000);
NbBooks = result.count; NbBooks = result.count;
IEnumerable<Book> someBooks = result.books; IEnumerable<Book> someBooks = result.books;
books.Clear(); books.Clear();
@ -543,9 +545,10 @@ namespace ViewModels
if (b.PublishDate.Year == SelectedDate.PublishDate.Year) if (b.PublishDate.Year == SelectedDate.PublishDate.Year)
{ {
books.Add(b); books.Add(b);
GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key); GroupedBooks = AllBooks.GroupBy(b => b.PublishDate.Year.ToString()).OrderBy(group => group.Key);
} }
} }
OnPropertyChanged(nameof(GroupedBooks));
OnPropertyChanged(nameof(AllBooks)); OnPropertyChanged(nameof(AllBooks));
} }
@ -574,21 +577,25 @@ namespace ViewModels
private async Task GetBooksByRating() private async Task GetBooksByRating()
{ {
var result = await Model.GetBooksFromCollection(Index, Count); var result = await Model.GetBooksFromCollection(0, 1000);
NbBooks = result.count; NbBooks = result.count;
IEnumerable<Book> someBooks = result.books; IEnumerable<Book> someBooks = result.books;
books.Clear(); books.Clear();
foreach (var book in someBooks.Select(b => new BookVM(b)))
{ var groupedBooks = someBooks
if (book.UserRating == SelectedRating.Average) .Where(book => book.UserRating.HasValue)
{ .Select(book => new BookVM(book))
//books.Add(new BookVM(book)); .GroupBy(book => Math.Floor(book.UserRating.Value).ToString("0"))
GroupedBooks = AllBooks.GroupBy(b => b.Author).OrderBy(group => group.Key); .OrderBy(group => group.Key);
}
} GroupedBooks = groupedBooks;
OnPropertyChanged(nameof(GroupedBooks));
OnPropertyChanged(nameof(AllBooks)); OnPropertyChanged(nameof(AllBooks));
} }
private async Task GetAllRatings() private async Task GetAllRatings()
{ {
var result = await Model.GetBooksFromCollection(0, 1000); var result = await Model.GetBooksFromCollection(0, 1000);

Loading…
Cancel
Save