You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
6.3 KiB
173 lines
6.3 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
using Business;
|
|
using Modèle;
|
|
|
|
namespace WpfApp1
|
|
{
|
|
/// <summary>
|
|
/// Logique d'interaction pour AddAShark.xaml
|
|
/// Page qui permet à un utilisateur d'ajouter un requin
|
|
/// </summary>
|
|
public partial class AddAShark : Window
|
|
{
|
|
public AddAShark()
|
|
{
|
|
InitializeComponent();
|
|
|
|
DataContext = Mgr;
|
|
|
|
}
|
|
|
|
public Manager Mgr => (Application.Current as App).LeManager; //Manager lié à celui de l'app
|
|
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers; //Manager lié à celui de l'app
|
|
|
|
|
|
private List<Conservation> consList = new List<Conservation> //List<Conservation> contenant toutes les conservations
|
|
{
|
|
Conservation.EX,
|
|
Conservation.EW,
|
|
Conservation.CR,
|
|
Conservation.EN,
|
|
Conservation.VU,
|
|
Conservation.NT,
|
|
Conservation.LC,
|
|
Conservation.DD,
|
|
Conservation.NE
|
|
};
|
|
|
|
/// <summary>
|
|
/// Evénement ExitClick qui permet de quitter la page
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void exit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Evénement SubmitClick qui permet d'ajouter un requin depuis la page
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void submit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
//Récupération de toutes les valeurs rentrées par l'utilisateur
|
|
Conservation cons = new Conservation();
|
|
List<Zone> lesZones = new List<Zone>();
|
|
string nom = name.LeContenu.Text;
|
|
string sciNam = sciName.LeContenu.Text;
|
|
string descri = desc.LeContenu.Text;
|
|
string photo = lienPhoto.LeContenu.Text;
|
|
string video = lienVid.LeContenu.Text;
|
|
string map = lienMap.LeContenu.Text;
|
|
string fun = funny.LeContenu.Text;
|
|
int testCons = 0;
|
|
|
|
//Récupération du statut de conservation rentré par l'utilisateur
|
|
foreach (Control control in this.radioButtons.Children)
|
|
{
|
|
if (control is RadioButton)
|
|
{
|
|
RadioButton radio = control as RadioButton;
|
|
if (radio.IsChecked == true) //Obligation de regardé si c'est ==true car IsChecked return un Nullable
|
|
{
|
|
if (radio.Content is string radString)
|
|
{
|
|
foreach (Conservation conserv in consList)
|
|
{
|
|
if (radString == conserv.ToString())
|
|
{
|
|
cons = conserv;
|
|
testCons = 1; //Permet de savoir que la conservation a bien été rentrée
|
|
goto loopEnd; //Permet de sortir de toutes les boucles quand on a trouvé la conservation
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
loopEnd:
|
|
|
|
|
|
if (!video.Contains("Videos/")) //test si la vidéo vient bien du répetoire Vidéos (Nous n'avons pas eu le temps d'ajouter la fonctionalités pour les vidéos depuis internet)
|
|
{
|
|
MessageBox.Show("Les vidéos doivent venir obligatoirement du répertoire Videos");
|
|
return;
|
|
}
|
|
|
|
//Test pour voir quels zones sont cochées
|
|
if (Arct.IsChecked == true)
|
|
{
|
|
lesZones.Add(Zone.ARCTIQUE);
|
|
}
|
|
if (Atla.IsChecked == true)
|
|
{
|
|
lesZones.Add(Zone.ATLANTIQUE);
|
|
}
|
|
if (Indi.IsChecked == true)
|
|
{
|
|
lesZones.Add(Zone.INDIEN);
|
|
}
|
|
if (Paci.IsChecked == true)
|
|
{
|
|
lesZones.Add(Zone.PACIFIQUE);
|
|
}
|
|
|
|
//Test pour voir si toutes les informations ont été rentrées
|
|
if (lesZones.Count() == 0 || Mgr.verifierRequin(nom, sciNam, descri, photo, video, map) == false || testCons==0)
|
|
{
|
|
MessageBox.Show("Veuillez remplir toutes les informations");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
// Test pour voir si la fun fact est vide
|
|
if (string.IsNullOrWhiteSpace(fun))
|
|
{
|
|
//Si elle est vide alors on crée le requin avec la liste de fun facts
|
|
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, Mgr.FunFacts);
|
|
//Test pour savoir si l'utilisateur est un Expert ou un Utilisateur
|
|
if (MgrUser.SelectedUser is Utilisateur user)
|
|
{
|
|
user.AjouterRequin(requin, Mgr.RequinsAdd); //Ajout dans la liste d'ajout
|
|
}
|
|
else if (MgrUser.SelectedUser is Expert exp)
|
|
{
|
|
exp.AjouterRequin(requin, Mgr.Requins); //Ajout directement dans la liste de requin validé
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Requin requin = new Requin(nom, sciNam, descri, photo, video, map, cons, lesZones, fun);
|
|
//Pareil que la boucle du dessus
|
|
if (MgrUser.SelectedUser is Utilisateur user)
|
|
{
|
|
user.AjouterRequin(requin, Mgr.RequinsAdd);
|
|
}
|
|
else if (MgrUser.SelectedUser is Expert exp)
|
|
{
|
|
exp.AjouterRequin(requin, Mgr.Requins);
|
|
}
|
|
}
|
|
|
|
Close();
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|