|
|
|
@ -32,11 +32,11 @@ namespace WpfApp1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Manager Mgr => (Application.Current as App).LeManager;
|
|
|
|
|
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers;
|
|
|
|
|
public Manager Mgr => (Application.Current as App).LeManager; //ManagerUser lié à celui de l'app
|
|
|
|
|
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers; //ManagerUser lié à celui de l'app
|
|
|
|
|
|
|
|
|
|
private Requin _requin;
|
|
|
|
|
public Requin requin
|
|
|
|
|
public Requin requin //Requin qui permet de mettre à jour l'affichage de la page
|
|
|
|
|
{
|
|
|
|
|
get { return _requin; }
|
|
|
|
|
set
|
|
|
|
@ -47,7 +47,7 @@ namespace WpfApp1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<Conservation> consList = new List<Conservation>
|
|
|
|
|
private List<Conservation> consList = new List<Conservation> //List<Conservatio> qui contient tous les status de conservation
|
|
|
|
|
{
|
|
|
|
|
Conservation.EX,
|
|
|
|
|
Conservation.EW,
|
|
|
|
@ -61,9 +61,13 @@ namespace WpfApp1
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void UptadeUi(Requin requin)
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Méthode qui permet de mettre à jour l'affichage de la page à partir d'un requin
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="requin"></param>
|
|
|
|
|
private void UptadeUi(Requin requin)
|
|
|
|
|
{
|
|
|
|
|
//Met à jour les textBoxs
|
|
|
|
|
leNom.Contenu = requin.Nom;
|
|
|
|
|
nomSci.Contenu = requin.NomSci;
|
|
|
|
|
desc.Contenu = requin.Description;
|
|
|
|
@ -72,24 +76,24 @@ namespace WpfApp1
|
|
|
|
|
LienMap.Contenu = requin.PhotoCarte;
|
|
|
|
|
funFact.Contenu = requin.FunFact;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (Control control in this.radioButtons.Children)
|
|
|
|
|
//Boucles qui permettent de cocher le bon radioButton en fonction du status de conservation du requin
|
|
|
|
|
foreach (Control control in this.radioButtons.Children) //For each sur tout ce que possède radioButtons
|
|
|
|
|
{
|
|
|
|
|
if (control is RadioButton radio)
|
|
|
|
|
if (control is RadioButton radio) //Regarde si le control est un RadioButton
|
|
|
|
|
{
|
|
|
|
|
if (radio.Content is string radString)
|
|
|
|
|
if (radio.Content is string radString) //Transforme le radio.content en string
|
|
|
|
|
{
|
|
|
|
|
if (radString == requin.StatutCons.ToString())
|
|
|
|
|
if (radString == requin.StatutCons.ToString()) //Test si il est égal au ToString du status de conservation du requin
|
|
|
|
|
{
|
|
|
|
|
radio.IsChecked = true;
|
|
|
|
|
goto loopEnd;
|
|
|
|
|
radio.IsChecked = true; //Coche le RadioButton
|
|
|
|
|
goto loopEnd; //Permet de sortir des boucles quand le radioButton a été coché
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
loopEnd:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Coche les bonnes zones en fonction de la répartition du requin
|
|
|
|
|
foreach (Zone z in requin.Repartition)
|
|
|
|
|
{
|
|
|
|
|
if (z == Zone.ATLANTIQUE)
|
|
|
|
@ -111,14 +115,27 @@ namespace WpfApp1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Evénement qui permet à l'utilisateur de retourner à la page de description du requin
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void exit_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
//Change le content control de la main window en UserControlDescription
|
|
|
|
|
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Evénement qui permet de valider les modifications faites à un requin
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void submit_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int test = 0;
|
|
|
|
|
//Récupère les informations qu'a rentré l'utilisateur
|
|
|
|
|
List<Zone> lesZones = new List<Zone>();
|
|
|
|
|
Conservation cons = new Conservation();
|
|
|
|
|
string nom = leNom.LeContenu.Text;
|
|
|
|
@ -129,21 +146,22 @@ namespace WpfApp1
|
|
|
|
|
string map = LienMap.LeContenu.Text;
|
|
|
|
|
string fun = funFact.LeContenu.Text;
|
|
|
|
|
|
|
|
|
|
//Bouclesqui récupèrent le RadioButton coché et mettent le bon status de conservation dans cons
|
|
|
|
|
foreach (Control control in this.radioButtons.Children)
|
|
|
|
|
{
|
|
|
|
|
if (control is RadioButton radio)
|
|
|
|
|
{
|
|
|
|
|
if (radio.IsChecked == true)
|
|
|
|
|
if (radio.IsChecked == true) //Test si le RadioButton est coché
|
|
|
|
|
{
|
|
|
|
|
if (radio.Content is string radString)
|
|
|
|
|
if (radio.Content is string radString) //Transforme son content en string
|
|
|
|
|
{
|
|
|
|
|
foreach (Conservation conserv in consList)
|
|
|
|
|
foreach (Conservation conserv in consList) //Boucles pour tester avec tous les status de conservation
|
|
|
|
|
{
|
|
|
|
|
if (radString == conserv.ToString())
|
|
|
|
|
{
|
|
|
|
|
cons = conserv;
|
|
|
|
|
test++;
|
|
|
|
|
goto loopEnd ;
|
|
|
|
|
goto loopEnd ; //Sort des boucles
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -152,13 +170,14 @@ namespace WpfApp1
|
|
|
|
|
}
|
|
|
|
|
loopEnd:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Test si la vidéo vient du répertoire Vidéos
|
|
|
|
|
if (!video.Contains("Videos/"))
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("Les vidéos doivent venir obligatoirement du répertoire Videos");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Test quels checkBox sont cochées et ajoute dans la liste de zone du requin les zones cochées
|
|
|
|
|
if (Arct.IsChecked == true)
|
|
|
|
|
{
|
|
|
|
|
lesZones.Add(Zone.ARCTIQUE);
|
|
|
|
@ -175,23 +194,28 @@ namespace WpfApp1
|
|
|
|
|
{
|
|
|
|
|
lesZones.Add(Zone.PACIFIQUE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Test si toutes les informations sont bien remplies
|
|
|
|
|
if (test == 0 || lesZones.Count()==0 || Mgr.verifierRequin(nom, sciNam, descri, photo, video, map)==false)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("Veuillez remplir tout les champs obligatoires");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Test si la fun fact et vide
|
|
|
|
|
else if (string.IsNullOrWhiteSpace(fun))
|
|
|
|
|
{
|
|
|
|
|
//Si elle est vide alors utilise le constructeur de requin avec la liste de fun facts
|
|
|
|
|
Requin req = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, Mgr.FunFacts);
|
|
|
|
|
//Test si l'utilisateur est un Expert ou un Utilisateur
|
|
|
|
|
if (MgrUser.SelectedUser is Utilisateur user)
|
|
|
|
|
{
|
|
|
|
|
//Ajoute le requin dans la liste des requins modifiés
|
|
|
|
|
user.AjouterRequin(req, Mgr.RequinsEdit);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//Ajoute le requin dans la liste de requin validés
|
|
|
|
|
Mgr.ModifieRequin(Mgr.Requins.SingleOrDefault(r => r.Equals(req)), req);
|
|
|
|
|
}
|
|
|
|
|
//Change le content control de la main window en UserControlDesscription
|
|
|
|
|
((MainWindow)System.Windows.Application.Current.MainWindow).ContentControlSwapDes(requin);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|