diff --git a/Business/Business.csproj b/Business/Business.csproj index e276663..caa355e 100644 --- a/Business/Business.csproj +++ b/Business/Business.csproj @@ -1,9 +1,13 @@ - + net5.0 + + U:\SAE\Cshark\Business\Business.xml + + diff --git a/Business/Business.xml b/Business/Business.xml new file mode 100644 index 0000000..31daae6 --- /dev/null +++ b/Business/Business.xml @@ -0,0 +1,192 @@ + + + + Business + + + + + Class Manager qui gère les requins, les requins ajoutés, les requins modifiés et les fun facts + + + + + DéPENDANCE + + + + + constructeur avec INJECTION DE LA DéPENDANCE + + + + + Méthode LoadRequins de la classe Manager qui permet de remplir les listes de requins grâce à l'IPersistanceManager + + + + + Méthode SaveRequins de la classe Manager qui permet de sauvegarder les listes de requins grâce à l'IPersistanceManager + + + + + Méthode AjouterRequin de la classe Manager qui permet d'ajouter un requin dans la liste des requins + + Requin qui va être ajouté dans la liste + Booléen : true si il a été ajouté, false sinon + + + + Méthode SupprimerRequin de la classe Manager qui permet de supprimer un requin de la liste des requins + + Requin qui va être supprimé dans la liste + Booléen : true si il a été supprimé, false sinon + + + + Méthode GetRequin de la classe Manager qui permet de récupérer un requin de la liste des requins + + Requin que l'on cherche dans dans la liste + Requin trouvé + + + + Méthode ModifieRequin de la classe Manager qui permet de modifier un ancien requin de la liste des requins à partir d'un nouveau + + Requin l'ancien requin dans la liste des requins + Requin le nouveau requin + Booléen : true si il a été modifié, false sinon + + + + Méthode AjouterRequinEdit de la classe Manager qui permet d'ajouter un requin dans la liste des requins modifiés + + Requin qui va être ajouté dans la liste + Booléen : true si il a été ajouté, false sinon + + + + Méthode SupprimerRequinEdit de la classe Manager qui permet de supprimer un requin de la liste des requins modifiés + + Requin qui va être supprimé dans la liste + Booléen : true si il a été supprimé, false sinon + + + + Méthode AjouterRequinAdd de la classe Manager qui permet d'ajouter un requin dans la liste des requins ajoutés + + Requin qui va être ajouté dans la liste + Booléen : true si il a été ajouté, false sinon + + + + Méthode SupprimerRequinAdd de la classe Manager qui permet de supprimer un requin de la liste des requins ajoutés + + Requin qui va être supprimé dans la liste + Booléen : true si il a été supprimé, false sinon + + + + Méthode GetRequinEdit de la classe Manager qui permet de récupérer un requin de la liste des requins modifiés + + Requin que l'on cherche dans dans la liste + Requin trouvé + + + + Méthode GetRequinAdd de la classe Manager qui permet de récupérer un requin de la liste des requins ajoutés + + Requin que l'on cherche dans dans la liste + Requin trouvé + + + + + Méthode vérifierRequin qui permet de vérifiersi les strings que l'on donnerait au constructeur de requin son vides + + Booléen : true si il n'y en a pas de vide, false sinon + + + + Méthode LoadFunFacts de la classe Manager qui permet de charger la liste de fun facts grâce à l'IPersistanceManager + + + + + Méthode LoadFunFacts de la classe Manager qui permet de sauvegarder la liste de fun facts grâce à l'IPersistanceManager + + + + + DéPENDANCE + + + + + constructeur avec INJECTION DE LA DéPENDANCE + + + + + Méthode LoadUsers de la classe ManagerUser qui permet de charger les liste d'Utilisateurs et d'Experts grâce à l'IPersistanceManager + + + + + Méthode SaveUsers de la classe ManagerUser qui permet de sauvegarder les listes d'Utilisateurs et d'Experts grâce à l'IPersistanceManager + + + + + Méthode AjouterUtilisateur de la classe ManagerUser qui permet d'ajouter un Utilisateur dans la liste d'Utilisateurs + + Utilisateur qui va être ajouté dans la liste + Booléen : true si il a été ajouté, false sinon + + + + Méthode SupprmierUtilisateur de la classe ManagerUser qui permet de supprimer un Utilisateur de la liste des Utilisateurs + + Utilisateur qui va être supprimé dans la liste + Booléen : true si il a été supprimé, false sinon + + + + Méthode AjouterExpert de la classe ManagerUser qui permet d'ajouter un Expert dans la liste d'Experts + + Expert qui va être ajouté dans la liste + Booléen : true si il a été ajouté, false sinon + + + + Méthode SupprmierExpertr de la classe ManagerUser qui permet de supprimer un Expert de la liste des Experts + + Expert qui va être supprimé dans la liste + Booléen : true si il a été supprimé, false sinon + + + + Méthode GetPersonne de la classe ManagerUser qui permet de récupérer une personne dans la liste de personne (Expert et Utilisateur) + + Personne que l'on cherche dans dans la liste + Personne trouvée + + + + Méthode ModifieUtilisateur de la classe ManagerUser qui permet de modifier un ancien Utilisateur de la liste des Utilisateurs à partir d'un nouveau + + Utilisateur l'ancien Utilisateur dans la liste des utilisateurs + Utilisateur le nouvel requin + Booléen : true si il a été modifié, false sinon + + + + Méthode ModifieExpert de la classe ManagerUser qui permet de modifier un ancien Expert de la liste des Experts à partir d'un nouveau + + Expert l'ancien Expert dans la liste des experts + Expert le nouveau Expert + Booléen : true si il a été modifié, false sinon + + + diff --git a/Modèle/Modèle.csproj b/Modèle/Modèle.csproj index 4b3854b..396e14d 100644 --- a/Modèle/Modèle.csproj +++ b/Modèle/Modèle.csproj @@ -4,6 +4,10 @@ net5.0 + + U:\SAE\Cshark\Modèle\Modèle.xml + + diff --git a/Modèle/Modèle.xml b/Modèle/Modèle.xml new file mode 100644 index 0000000..b2f46be --- /dev/null +++ b/Modèle/Modèle.xml @@ -0,0 +1,173 @@ + + + + Modèle + + + + + Type énuméré qui contient tous les status de conservation des espèces animales. + + + + + Class Expert qui implémente l'interface Personne + Un expert peut ajouter et modifier des requins mais il peut aussi valider ou refuser les ajouts ou les modifications des utilisateurs + + + + + Constructeur sans DateTime + + String email de l'Expert (son identifiant pour se connecter + String le mot de passe de l'Expert + String surnom de l'Expert + + + + Constructeur avec DateTime + + String email de l'Expert (son identifiant pour se connecter + String le mot de passe de l'Expert + String surnom de l'Expert + Date de création du compte Expert + + + + Méthode ToString de la classe Expert + + + + + + + Méthode Equals de la Class Expert qui permet de savoir si deux experts sont égaux, regarde en fonction des emails + + Expert + Booléen : true si elles sont égales, false si elles sont différentes + + + + + Méthode qui permet de changer le mot de passe de l'Expert + + String nouveau mot de passe de l'Expert + + + + Interface Personne qui est la base des utilisateurs de l'application + + + + + Constructeur d'une personne + + String l'email de la personne qui va être créée + String le mot de passe de la personne + + + + Création de la méthode abstraite ToString + + + + + Création de la méthode abstraite AjouterRequin qui permet d'ajouter un Requin dans une ObservableCollection de Requin + + Requin le requin a ajouter + ObservableCollection la où on ajoute le requin + + + + Création de la méthode abstraite ChangerMotDePasse qui permet de changer le mot de passe d'un personne + + String le nouveau mot de passe d'un Personne + + + + Classe Position qui permet de connaitre la surface de répartition d'un requin + Cependant nous n'avons pas eu le temps d'implémenter cette classe dans les requins + + + + + Méthode Equals qui permet de savoir si une position est égale à une autre + + Position + Booléen : true si elles sont égales, false si elles sont différentes + + + + Constructeur d'une Position + + + + + + + + Méthode ToString de la classe Requin + + + + + Méthode Equals de la classe Requin qui permet de savoir si deux requins sont égaux, regarde l'égalité en fonction des noms et des nom scientifiques + + + + + + Méthode GetHashCode de la classe Requin qui permet de récupérer le hash code d'un requin avec son nom et son nom scientifique + + + + + Type énuméré qui permet de savoir si un UserControlRequin et de type normal, édité ou ajouté + + + + + Classe Utilisateur qui implémente l'interface Personne + + + + + Constructeur d'utilisateur sans nombre de submits + + string l'email de l'utilisateur + string mot de passe de l'utilisateur + + + + Constructeur d'utilisateur avec nombre de submits + + string l'email de l'utilisateur + string mot de passe de l'utilisateur + int le nombre de submits de l'utilisateur + + + + Méthode ToString de la classe Utilisateur + + + + + Méthode Equals de la classe Utilisateur qui regarde en fonction des emails + + Utilisateur + Booléen : true si ils sont égaux, false si ils sont différents + + + + + Méthode qui permet de changer le mot de passe de l'Utilisateur + + String nouveau mot de passe de l'Utilisateur + + + + Type énuméré qui contient les océans où il y a des requins + + + + diff --git a/WpfApp1/WpfApp1.csproj b/WpfApp1/WpfApp1.csproj index d8655dd..3b8005e 100644 --- a/WpfApp1/WpfApp1.csproj +++ b/WpfApp1/WpfApp1.csproj @@ -6,6 +6,10 @@ true + + U:\SAE\Cshark\WpfApp1\WpfApp1.xml + + diff --git a/WpfApp1/WpfApp1.xml b/WpfApp1/WpfApp1.xml new file mode 100644 index 0000000..7fa04ae --- /dev/null +++ b/WpfApp1/WpfApp1.xml @@ -0,0 +1,676 @@ + + + + WpfApp1 + + + + + Logique d'interaction pour AddAShark.xaml + Page qui permet à un utilisateur d'ajouter un requin + + + AddAShark + + + + + Evénement ExitClick qui permet de quitter la page + + + + + + + Evénement SubmitClick qui permet d'ajouter un requin depuis la page + + + + + + + InitializeComponent + + + + + Interaction logic for App.xaml + + + App + + + + + InitializeComponent + + + + + Application Entry Point. + + + + + Logique d'interaction pour ChangerMotDePasse.xaml + Page qui permet à un utilisateur de changer son mot de passe + + + ChangerMotDePasse + + + + + Evénement qui permet de valider le changement du mot de passe + + + + + + + Méthode qui vérifie que le mot de passe et le même que celui de la confirmation + + Booléen : true si ils sont égaux, false sinon + + + + Méthode qui vérifie que l'ancien mot de passe et bien le mot de passe actuel de l'utilisateur + + Booléen : true si ils sont égaux, false sinon + + + + Evénement qui permet de quitter la page + + + + + + + InitializeComponent + + + + + Logique d'interaction pour CreerCompte.xaml + Page qui permet à un utilisateur de créer un compte + + + CreerCompte + + + + + Evénement qui permet de quitter la page + + + + + + + Evénement qui permet d'ouvrir la page de connection + + + + + + + Evénement qui permet de créer un compte utilisateur + + + + + + + InitializeComponent + + + + + Logique d'interaction pour Description.xaml + Page qui affiche la description d'un requin de la liste des requins ajoutéss + + + DescriptionAdd + + + + + Méthode qui permet de transformer un url venant d'internet en BitmapImage + + + BitmapImage la nouvel BitmapImage créée à partir de du string + + + + Méthode qui met à jour toutes les informations sur la page grace au requin + + + + + + Evénement qui permet de quitter la page + + + + + + + Evénement qui permet d'ajouter le requin dans la Liste des requins validé + + + + + + + Evénement qui permet de refuser le requin et donc de le supprimer de la liste des requins ajoutés + + + + + + + InitializeComponent + + + + + Logique d'interaction pour DescriptionEdit.xaml + Page qui affiche la description d'un requins de la liste des requins modifiés avec la description du requin de base + + + DescriptionEdit + + + + + Méthode qui permet de transformer un url venant d'internet en BitmapImage + + + BitmapImage la nouvel BitmapImage créée à partir de du string + + + + Méthode qui met à jour toutes les informations de la partie droite grace au requin + + + + + + Fait la même chose que updateUi mais pour l'ancien requin donc la partie gauche + + + + + + Evénement qui permet de modifier l'ancien requin en le remplaçant par le nouveau et donc l'enlève de la liste des requins modifiés et le rajoute dans la lsite des requins validés + + + + + + + Evénement qui permet de refuser la modification et donc supprime le requin de la liste des requins modifiés + + + + + + + Evénement qui permet de quitter la page + + + + + + + InitializeComponent + + + + + Logique d'interaction pour InfoUtilisateur.xaml + Page qui permet à un utilisateur de voir ses informations + + + InfoUtilisateur + + + + + Méthode qui permet de mettre à jour les informations de la page + + + + + + Evénement qui permet de quitter la page + + + + + + + Evénement qui permet à l'utilisateur de se déconnecter + + + + + + + Evénement qui permet d'ouvrir la page ChangerMotDePasse + + + + + + + InitializeComponent + + + + + Interaction logic for MainWindow.xaml + Page principal de CShark + + + MainWindow + + + + + Evénement associé à l'EventHandler AccueilWeChange de l'UserControlAccueil + + + + + + + Evénement associé à l'EventHandler AccueilWeGo de l'UserControlRequin + + + + + + + Evénement associé à l'EventHandler EditWeGo de l'UserControlDescription + + + + + + + Evénement associé à l'EventHandler DescriptionWeGo de l'UserControlRequin + + + + + + + Evénement associé à l'EventHandler DescWeGo de l'UserControlEdit + + + + + + + Evénement qui est déclenché lorsque l'ObservableCollection change pour mettre à jour l'affichage + + + + + + + Evénement qui est déclenché lorsque la sélection de la comboBox a été changée pour mettre à jour l'affichage + + + + + + + Méthode qui permet de changer zonePage et l'affichage de la page + + + + + Méthode qui permet de changer la sélection de la comboBox, zonePage et l'affichage de la page + + + + + + Evénement qui est déclenché lorsque l'utilisateur qui sur la barre de Recherche et permet d'effacer le text "Rechercher" lorsque l'utilisateur qui sur la barre de Recherche + + + + + + + Méthode qui permet de charger les userControlRequin dans la listBox + + + + + Méthode qui permet de changer l'affichage de la page en fonction d'une zone donnée + + + + + + Méthode qui permet de vider la listBox + + + + + Evénement qui est déclenché quand l'utilisateur écrit une lettre dans la barre de rechercher + Permet de d'ajouter des userControlRequin dans la listBox en fonction du motif rentré par l'utilisateur + + + + + + + InitializeComponent + + + + + Logique d'interaction pour SeConnecter.xaml + Page qui permet à l'utilisateur de se connecter + + + SeConnecter + + + + + Evénement qui permet de quitter la page + + + + + + + Evénement qui permet d'ouvrir la page CreerCompte et de fermer celle la + + + + + + + Evénement qui permet à l'utilisateur de ce connecter quand il a rentré son email et son mot de passe + + + + + + + InitializeComponent + + + + + Classe AccueilnWeChangeEventArgs qui implémente EventArgs + Elle permet de créer un argument qui permet de transformer le content control de la main window en UserControlAccueil après avoir cliquer sur la carte + + + + + Logique d'interaction pour userControlAcceuil.xaml + UserControl qui permet d'afficher la carte du monde et le bandeau de l'application + + + userControlAcceuil + + + + + Event Handler de DescriptionWeGoEventArgs + + + + + Evénement qui permet d'ouvrir la page AddAShark + + + + + + + Evénement qui permet d'ouvrir soit la page CreerCompte soit InfoUtilisateur + + + + + + + Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Arctique + + + + + + + Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Atlantique + + + + + + + Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Indien + + + + + + + Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Pacifique + + + + + + + Méthode qui permet de changer la source de la carte en fonction de la zone donnée en paramètre + + + + + + InitializeComponent + + + + + Logique d'interaction pour UserControlBoite.xaml + UerControl pour toutes les fois ou nous avons besoins d'un textBlock et en dessous d'une textBox + + + UserControlBoite + + + + + InitializeComponent + + + + + Logique d'interaction pour userControlDescription.xaml + UserControl qui affiche la desription d'un requin + + + userControlDescription + + + + + Evénement qui permet de changer le content control de la main window + + + + + + + Evénement qui soit change le content control de la main window soit ouvre la page SeConnecter + + + + + + + Méthode qui permet de transformer un url venant d'internet en BitmapImage + + + BitmapImage la nouvel BitmapImage créée à partir de du string + + + + Méthode qui permet de mettre à jour l'affichage de la page en fonction du requin + + + + + + Evénement qui est déclenché lorsque l'on clique sur la vidéo (easter egg) + + + + + + + InitializeComponent + + + + + Logique d'interaction pour UserControlEdit.xaml + + + UserControlEdit + + + + + Méthode qui permet de mettre à jour l'affichage de la page à partir d'un requin + + + + + + Evénement qui permet à l'utilisateur de retourner à la page de description du requin + + + + + + + Evénement qui permet de valider les modifications faites à un requin + + + + + + + InitializeComponent + + + + + Logique d'interaction pour UserControlPosition.xaml + Le userControl que l'on aurait utilisé pour afficher les zones des requins sur la carte + + + UserControlPosition + + + + + InitializeComponent + + + + + Classe DescriptionWeGoEventArgs qui implémente EventArgs + Elle permet de créer un argument qui permet de transformer le content control de la main window en USerControlDescription après avoir cliquer sur le UserControlRequin + + + + + Logique d'interaction pour UserControlRequin.xaml + + + UserControlRequin + + + + + Event Handler de DescriptionWeGoEventArgs + + + + + Evénement qui est déclencher quand l'utilisateur clique sur l'userControl + + + + + + + Méthode qui permet de mettre à jour l'affichage de l'userControl + + + + + + InitializeComponent + + + + + Logique d'interaction pour ValiderSubmit.xaml + + + + ValiderSubmit + + + + + Evénement qui se déclenche quand l'ObservableCollection RequinsAdd change puis met à jour l'affichage + + + + + + + Evénement qui se déclenche quand l'ObservableCollection RequinsEdit change puis met à jour l'affichage + + + + + + + Méthode qui permet de remplir la listBox des requins ajoutés + + + + + Méthode qui permet de remplir la listBox des requins modifiés + + + + + Evénement qui permet d'ouvrir la page AddAShark + + + + + + + InitializeComponent + + + +