- Les VM applicatives sont à l'intérieur du projet MAUI, dans le dossier [_**Applicative_VM**_]("https://codefirst.iut.uca.fr/git/lucas.evard/PocketBook/src/branch/master/sources/PocketBook/Applicative_VM").
- Les VM wrappant les classes du modèle sont présent dans une bibliothèque de classes externe au projet MAUI, dans le dossier [_**ViewModel**_]("https://codefirst.iut.uca.fr/git/lucas.evard/PocketBook/src/branch/master/sources/ViewModel").
Il n'y a aucune dépendance entre le modèle et la vue.
## Mon toolkit MVVM
Un toolkit MVVM a été mis en place afin de soulager les écritures redondantes pour wrapper le modèle et pour la gestion des modification de propriétés.
Un toolkit MVVM a été mis en place afin de soulager les écritures redondantes pour wrapper le modèle et pour la gestion des modification de propriétées.
```mermaid
---
title: Intégration du toolkit au projet => Package MyToolkitMVVM
Ensuite, il suffit de choisir s'il faut hériter de BaseViewModel<T> qui est générique, ou BaseViewModel.
Pour ma part, mes VM wrapper héritent automatiquement de BaseViewModel<T> avec T désignant la classe du modèle à wrapper.
Cependant, mes VM applicatives n'héritent pas forcément de BaseViewModel, je le fais hériter seulement lorsqu'une propriétée doit être bindée dans la vue, comme pour ButtonsVM.
## Vue
Concernant la vue, j'ai repris certains de vos composants:
- Prêt/Emprunts => le bouton en forme de switch
- Le bouton pour scanner un ISBN ou le saisir
J'ai repris certaines de mes vues afin de mettre en place la ToolbarItem.
La note des livres sont ramenée en nombre entier le plus proche. Ce qui implique que les étoiles sont affichées seulement pleines ou vides.
## Bugs
En jouant avec la liste de livres, et en naviguant sur d'autres pages (tous,favoris,filtres et à lire plus tard), il est possible que le rendu des étoiles dans le détail des livres soit faux.
Si on ne commence pas l'affichage de la liste de livres par la page **tous**, il est possible que la liste s'affiche avec une hauteur très réduite.
## Ce qui est implémenté
En prenant compte votre Readme, il y a :
- La navigation en utilisant des **Commands**
- Mise en place de **ContentView **
- Affichage de la **listes de livres** et **sélection d'un livre**
- Affichage entièrement bindé des **détails d'un livre**
- **Filtrage** par Auteur,Note et Date de publication
- **Changement de statut** d'un livre
- **Ajout d'un livre aux favoris**, il suffit d'aller dans l'onglet déplacer un livre et appuyer sur '_Déplacer en favoris_'
- Ajout d'un livre par ISBN
- **Supprimer un livre**, il suffit d'aller dans l'onglet déplacer un livre et appuyer sur '_Mettre à la poubelle_'