From a0ed8f662ce5cf7dd0960b6b3fb263d3e99b157e Mon Sep 17 00:00:00 2001 From: thchazot1 Date: Sun, 12 Jun 2022 15:56:44 +0200 Subject: [PATCH] Aled --- Business/Business.xml | 57 +++++- Modèle/Expert.cs | 10 +- Modèle/Modèle.xml | 246 +++++++++++++++++++++- Modèle/Requin.cs | 6 +- Modèle/Utilisateur.cs | 2 +- WpfApp1/MainWindow.xaml.cs | 2 +- WpfApp1/WpfApp1.xml | 409 +++++++++++++++++++++++++++++++++++-- 7 files changed, 699 insertions(+), 33 deletions(-) diff --git a/Business/Business.xml b/Business/Business.xml index 31daae6..487d718 100644 --- a/Business/Business.xml +++ b/Business/Business.xml @@ -9,6 +9,27 @@ Class Manager qui gère les requins, les requins ajoutés, les requins modifiés et les fun facts + + + ObservableCollection de Requin les requins qui ont déjà été validés + + + + + ObservableCollection de Requin les requins qui ont été modifiés par des utilisateurs et qui n'ont pas encore été validés + + + + + + Requin actuellement utilisé dans l'application + + + + + List de string la liste des fun facts + + DéPENDANCE @@ -100,11 +121,25 @@ Requin que l'on cherche dans dans la liste Requin trouvé - + + + Méthode RechercherRequins qui permet de rechercher des requins dans une ObservableCollection de Requin en fonction de leurs zones et d'un motif + + ObservableCollection de Requin dans laquelle on fait la recherche + string sur lequel on fait la recherche + Zone? sur laquelle on fait la recherche + List de Requin contenant tous les requins trouvés en fonction du motif et de la zone + 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 @@ -117,6 +152,26 @@ Méthode LoadFunFacts de la classe Manager qui permet de sauvegarder la liste de fun facts grâce à l'IPersistanceManager + + + Class Manager qui gère les Experts et les Utilisateurs + + + + + List d'Utilisateur, la liste des utilisateurs de l'application + + + + + List d'Expert, la liste des experts de l'application + + + + + L'utilisateur ou l'expert actuellement connecté + + DéPENDANCE diff --git a/Modèle/Expert.cs b/Modèle/Expert.cs index 5d78bbe..7422da8 100644 --- a/Modèle/Expert.cs +++ b/Modèle/Expert.cs @@ -68,8 +68,8 @@ namespace Modèle /// /// Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins ajoutés par les utilisateurs /// - /// List qui est la list contenant tout les requins ajoutés par des Utilisateurs - /// List qui est la list contenant tout les requins validés par les experts + /// List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs + /// List de Requin qui est la list contenant tout les requins validés par les experts /// Int : Le nombre changement validé public int ValiderSubmit(List lBdFinie, List lBdPasFinie) @@ -106,8 +106,8 @@ namespace Modèle /// /// Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins édités par les utilisateurs /// - /// List qui est la list contenant tout les requins ajoutés par des Utilisateurs - /// List qui est la list contenant tout les requins validés par les experts + /// List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs + /// List de Requin qui est la list contenant tout les requins validés par les experts /// Int : Le nombre changement validé public int ValiderUnChangement(List lBdFinie, List lBdPasfinie) { @@ -155,7 +155,7 @@ namespace Modèle /// Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin /// /// Requin qui va être ajouté dans l'observable collection - /// ObservableCollection l'ObservableCollection dans laquelle on ajoute le Requin + /// ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin public override void AjouterRequin(Requin req, ObservableCollection requins) { requins.Add(req); diff --git a/Modèle/Modèle.xml b/Modèle/Modèle.xml index b2f46be..9ee5d2d 100644 --- a/Modèle/Modèle.xml +++ b/Modèle/Modèle.xml @@ -9,12 +9,67 @@ Type énuméré qui contient tous les status de conservation des espèces animales. + + + Extinct + + + + + Extinct in the Wild + + + + + Critically Endangered + + + + + Endangered + + + + + Vulnerable + + + + + Near Threatened + + + + + Least Concern + + + + + Data Deficient + + + + + Not Evaluated + + 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 + + + DateTime qui permet de connaitre la date de création x'un compte expert + + + + + /String le surnom d'un expert + + Constructeur sans DateTime @@ -37,8 +92,22 @@ Méthode ToString de la classe Expert - - + + + Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins ajoutés par les utilisateurs + + List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs + List de Requin qui est la list contenant tout les requins validés par les experts + Int : Le nombre changement validé + + + + Méthode de test lors de la création de la class Expert qui permettait de valider ou de refuser des requins édités par les utilisateurs + + List de Requin qui est la list contenant tout les requins ajoutés par des Utilisateurs + List de Requin qui est la list contenant tout les requins validés par les experts + Int : Le nombre changement validé + Méthode Equals de la Class Expert qui permet de savoir si deux experts sont égaux, regarde en fonction des emails @@ -46,7 +115,13 @@ Expert Booléen : true si elles sont égales, false si elles sont différentes - + + + Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin + + Requin qui va être ajouté dans l'observable collection + ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin + Méthode qui permet de changer le mot de passe de l'Expert @@ -58,6 +133,16 @@ Interface Personne qui est la base des utilisateurs de l'application + + + String email d'une Personne + + + + + String mot de passe d'une Personne + + Constructeur d'une personne @@ -89,6 +174,26 @@ Cependant nous n'avons pas eu le temps d'implémenter cette classe dans les requins + + + Int lattitude la plus faible + + + + + Int lattitude la plus haute + + + + + Int longitude la plus faible + + + + + Int longitude la plus haute + + Méthode Equals qui permet de savoir si une position est égale à une autre @@ -101,9 +206,84 @@ Constructeur d'une Position - - - + + + Classe Requin qui implémente la méthode IEquatable de Requin + + + + + string le nom du requin + + + + + string le nom scientifique du requin + + + + + string la description du requin + + + + + string l'URL de la photo du requin + + + + + string le chemin de la vidéo du requin + + + + + string l'URL de la photo de la carte de répartition du requin + + + + + Conservation le statut de conservation du requin + + + + + string fun fact sur les requins + + + + + List de Zone la répartition du requin sur la planète + + + + + Constructeur du requin avec fun fact + + string le nom du requin + string le nom scientifique du requin + string la description du requin + string l'URL de la photo du requin + string le chemin de la vidéo du requin + string l'URL de la photo de la carte de répartition du requin + Conservation le statut de conservation du requin + List de Zone la répartition du requin sur la planète + string fun fact sur les requins + + + + Constructeur du requin sans fun fact qui génère donc une fun fact aléatoire depuis une liste de fun fact + + string le nom du requin + string le nom scientifique du requin + string la description du requin + string l'URL de la photo du requin + string le chemin de la vidéo du requin + string l'URL de la photo de la carte de répartition du requin + Conservation le statut de conservation du requin + List de Zone la répartition du requin sur la planète + List de string list de fun facts + Méthode ToString de la classe Requin @@ -114,7 +294,11 @@ 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 ToString de la classe Requin qui permet l'implémentation de la méthode IEquatable de Requin + + 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 @@ -125,11 +309,31 @@ Type énuméré qui permet de savoir si un UserControlRequin et de type normal, édité ou ajouté + + + UCRequin qui mène à la description du requin + + + + + UCRequin qui mène à DescriptionEdit + + + + + UCRequin qui mène à DescriptionAdd + + Classe Utilisateur qui implémente l'interface Personne + + + int qui permet de savoir le nombre d'ajouts et de modifications qu'à fait un utilisateur + + Constructeur d'utilisateur sans nombre de submits @@ -157,7 +361,13 @@ Utilisateur Booléen : true si ils sont égaux, false si ils sont différents - + + + Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin et d'augmenter le nombre de submits de 1 + + Requin qui va être ajouté dans l'observable collection + ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin + Méthode qui permet de changer le mot de passe de l'Utilisateur @@ -169,5 +379,25 @@ Type énuméré qui contient les océans où il y a des requins + + + Océan Atlantique + + + + + Océan Arctique + + + + + Océan Pacifique + + + + + Océan Indien + + diff --git a/Modèle/Requin.cs b/Modèle/Requin.cs index 7c5fe8d..deb7773 100644 --- a/Modèle/Requin.cs +++ b/Modèle/Requin.cs @@ -71,7 +71,7 @@ namespace Modèle /// string le chemin de la vidéo du requin /// string l'URL de la photo de la carte de répartition du requin /// Conservation le statut de conservation du requin - /// List la répartition du requin sur la planète + /// List de Zone la répartition du requin sur la planète /// string fun fact sur les requins public Requin(string nom, string nomSci, string description, string photo, string video, string photoCarte, Conservation statutCons, List repartition, string funFact) { Nom = nom; @@ -95,8 +95,8 @@ namespace Modèle /// string le chemin de la vidéo du requin /// string l'URL de la photo de la carte de répartition du requin /// Conservation le statut de conservation du requin - /// List la répartition du requin sur la planète - /// List list de fun facts + /// List de Zone la répartition du requin sur la planète + /// List de string list de fun facts public Requin(string nom, string nomSci, string description, string photo, string video, string photoCarte, Conservation statutCons, List repartition, List funFacts) { Random rnd = new Random(); diff --git a/Modèle/Utilisateur.cs b/Modèle/Utilisateur.cs index 38a21e3..20b390b 100644 --- a/Modèle/Utilisateur.cs +++ b/Modèle/Utilisateur.cs @@ -63,7 +63,7 @@ namespace Modèle /// Méthode qui permet d'ajouter un Requin dans une ObservableCollection de Requin et d'augmenter le nombre de submits de 1 /// /// Requin qui va être ajouté dans l'observable collection - /// ObservableCollection l'ObservableCollection dans laquelle on ajoute le Requin + /// ObservableCollection de Requin l'ObservableCollection dans laquelle on ajoute le Requin public override void AjouterRequin(Requin req, ObservableCollection requins) { requins.Add(req); diff --git a/WpfApp1/MainWindow.xaml.cs b/WpfApp1/MainWindow.xaml.cs index 74ed0f4..55e03dd 100644 --- a/WpfApp1/MainWindow.xaml.cs +++ b/WpfApp1/MainWindow.xaml.cs @@ -111,7 +111,7 @@ namespace WpfApp1 /// Evénement associé à l'EventHandler DescriptionWeGo de l'UserControlRequin /// /// - /// + /// private void GoDesc_DescriptionWeGo(object sender, DescriptionWeGoEventArgs args) { var ucDesc = new userControlDescription { requin = args.Requin, zone = zonePage }; diff --git a/WpfApp1/WpfApp1.xml b/WpfApp1/WpfApp1.xml index 7fa04ae..7a19094 100644 --- a/WpfApp1/WpfApp1.xml +++ b/WpfApp1/WpfApp1.xml @@ -7,12 +7,26 @@ Logique d'interaction pour AddAShark.xaml - Page qui permet à un utilisateur d'ajouter un requin AddAShark + + + Page qui permet à un utilisateur d'ajouter un requin + + + + + Manager lié à celui de l'app + + + + + ManagerUser lié à celui de l'app + + Evénement ExitClick qui permet de quitter la page @@ -40,6 +54,26 @@ App + + + L'IPersistanceManager qui fait référence à notre DataContract + + + + + L'IPersistanceManager qui fait référence à notre stub + + + + + Le Manager des requins qui contiendra toutes les listes + + + + + Le Manager des utilisateurs qui contiendra toutes les listes + + InitializeComponent @@ -53,12 +87,21 @@ Logique d'interaction pour ChangerMotDePasse.xaml - Page qui permet à un utilisateur de changer son mot de passe ChangerMotDePasse + + + Page qui permet à un utilisateur de changer son mot de passe + + + + + ManagerUser lié à celui de l'app + + Evénement qui permet de valider le changement du mot de passe @@ -93,12 +136,21 @@ Logique d'interaction pour CreerCompte.xaml - Page qui permet à un utilisateur de créer un compte CreerCompte + + + Page qui permet à un utilisateur de créer un compte + + + + + ManagerUser lié à celui de l'app + + Evénement qui permet de quitter la page @@ -128,12 +180,26 @@ Logique d'interaction pour Description.xaml - Page qui affiche la description d'un requin de la liste des requins ajoutéss DescriptionAdd + + + Page qui affiche la description d'un requin de la liste des requins ajoutéss + + + + + Manager lié à celui de l'app + + + + + requin sur lequel se base l'affichage de la page + + Méthode qui permet de transformer un url venant d'internet en BitmapImage @@ -176,12 +242,31 @@ 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 + + + Page qui affiche la description d'un requins de la liste des requins modifiés avec la description du requin de base + + + + + Manager lié à celui de l'app + + + + + requin sur lequel se base l'affichage de la partie droite de la page + + + + + requin sur lequel se base l'affichage de la partie gauche de la page + + Méthode qui permet de transformer un url venant d'internet en BitmapImage @@ -230,12 +315,26 @@ Logique d'interaction pour InfoUtilisateur.xaml - Page qui permet à un utilisateur de voir ses informations InfoUtilisateur + + + Page qui permet à un utilisateur de voir ses informations + + + + + ManagerUser lié à celui de l'app + + + + + L'utilisateur qui permettra de mettre les informations de la page à jour + + Méthode qui permet de mettre à jour les informations de la page @@ -270,13 +369,37 @@ - Interaction logic for MainWindow.xaml - Page principal de CShark + Interaction logic for MainWindow.xam MainWindow + + + Manager lié à celui de l'app + + + + + ManagerUser lié à celui de l'app + + + + + Zone qui permet de connaitre la zone de la comboBox + + + + + Booléen qui permet de savoir si l'utilisateur a déjà changer la zone de la listBox + + + + + Page principal de CShark + + Evénement associé à l'EventHandler AccueilWeChange de l'UserControlAccueil @@ -303,7 +426,7 @@ Evénement associé à l'EventHandler DescriptionWeGo de l'UserControlRequin - + @@ -376,12 +499,21 @@ Logique d'interaction pour SeConnecter.xaml - Page qui permet à l'utilisateur de se connecter SeConnecter + + + ManagerUser lié à celui de l'app + + + + + Page qui permet à l'utilisateur de se connecter + + Evénement qui permet de quitter la page @@ -414,20 +546,56 @@ 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 + + + Zone la zone que l'on transmettra avec l'événement + + + + + L'Evénement pour changer la zone de l'accueil + + + Logique d'interaction pour userControlAcceuil.xaml - UserControl qui permet d'afficher la carte du monde et le bandeau de l'application userControlAcceuil + + + ManagerUser lié à celui de l'app + + + + + UserControl qui permet d'afficher la carte du monde et le bandeau de l'application + + + + + string qui permet de modifier directement la source de l'image + + + + + Zone qui permet d'appeler la méthode choixCarte quand elle est modifiée + + Event Handler de DescriptionWeGoEventArgs + + + L'événement qui permet de passer à l'UserControlDescription + + + Evénement qui permet d'ouvrir la page AddAShark @@ -484,26 +652,125 @@ 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 + + + UerControl pour toutes les fois ou nous avons besoins d'un textBlock et en dessous d'une textBox + + + + + Le text du textBlock + + + + + Le contenu de la textBox + + InitializeComponent + + + Classe EditWeGoEventArgs qui implémente EventArgs + Elle permet de créer un argument qui permet de transformer le content control de la main window en UserControlEdit après avoir cliquer sur le bouton Edit + + + + + Le requin que l'on veut passer lors de l'événement + + + + + L'Evénement pour changer le content control + + + + + + Classe AccueilWeGo 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 le bouton Exit + + + + + La Zone que l'on veut passer lors de l'événement + + + + + L'Evénement pour crevenir à la page d'accueil + + + Logique d'interaction pour userControlDescription.xaml - UserControl qui affiche la desription d'un requin userControlDescription + + + UserControl qui affiche la desription d'un requin + + + + + ManagerUser lié à celui de l'app + + + + + Manager lié à celui de l'app + + + + + le requin qui permet de changer l'affichage de la page + + + + + La zone de la page principale + + + + + L'Event handler EditWeGo + + + + + L'événement appelé lors du clique + + + + + + L'eventhandler AccueilWeGo + + + + + L'événement appelé lors du clique + + + + + + Un compteur + + Evénement qui permet de changer le content control de la main window @@ -543,6 +810,23 @@ InitializeComponent + + + Classe DescWeGoEventArgs 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 un UserControlRequin + + + + + Le requin que l'on veut passer lors de l'événement + + + + + L'Evénement pour changer le content control + + + Logique d'interaction pour UserControlEdit.xaml @@ -551,6 +835,37 @@ UserControlEdit + + + UserControl qui permet de modifier un requin + + + + + ManagerUser lié à celui de l'app + + + + + ManagerUser lié à celui de l'app + + + + + Requin qui permet de mettre à jour l'affichage de la page + + + + + L'Event handler DescWeGo + + + + + L'Evénement appelé lors du clique + + + Méthode qui permet de mettre à jour l'affichage de la page à partir d'un requin @@ -579,12 +894,31 @@ Logique d'interaction pour UserControlPosition.xaml - Le userControl que l'on aurait utilisé pour afficher les zones des requins sur la carte UserControlPosition + + + Le userControl que l'on aurait utilisé pour afficher les zones des requins sur la carte + + + + + Position qui permet de mettre à jour l'affichage + + + + + La largeur de la carte + + + + + La hauteur de la carte + + InitializeComponent @@ -596,6 +930,17 @@ 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 + + + Le requin que l'on veut passer lors de l'événement + + + + + L'Evénement pour changer le content control en UserControlDescription + + + Logique d'interaction pour UserControlRequin.xaml @@ -604,11 +949,27 @@ UserControlRequin + + + Manager lié à celui de l'app + + + + + Le UserControl qui est stocké dans une listBox et permet d'ouvrir les pages de description + + Event Handler de DescriptionWeGoEventArgs + + + L'événement qui permet de passer à l'UserControlDescription + + + Evénement qui est déclencher quand l'utilisateur clique sur l'userControl @@ -616,6 +977,16 @@ + + + Le requin qui permet de mettre à jour l'affichage + + + + + Le type d'userControl requi que c'est (permet de savoir quelle description ouvrir) + + Méthode qui permet de mettre à jour l'affichage de l'userControl @@ -636,6 +1007,16 @@ ValiderSubmit + + + Manager lié à celui de l'app + + + + + Page qui permet aux Experts de voir tous les requins ajoutés et modifiés + + Evénement qui se déclenche quand l'ObservableCollection RequinsAdd change puis met à jour l'affichage