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.
CShark/WpfApp1/userControlAcceuil.xaml.cs

183 lines
6.4 KiB

using Business;
using Modèle;
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.Navigation;
using System.Windows.Shapes;
namespace WpfApp1
{
/// <summary>
/// Logique d'interaction pour userControlAcceuil.xaml
/// UserControl qui permet d'afficher la carte du monde et le bandeau de l'application
/// </summary>
public partial class userControlAcceuil : UserControl
{
public ManagerUsers MgrUser => (Application.Current as App).LeManagerUsers; //Manager lié à celui de l'app
public userControlAcceuil()
{
InitializeComponent();
}
public string Carte
{
set //set qui permet de modifier directement la source de l'image
{
laCarte.Source = new BitmapImage(new Uri(value, UriKind.Relative));
}
}
private Nullable<Zone> _zone;
public Nullable<Zone> zone //Zone qui permet d'appeler la méthode choixCarte quand elle est modifiée
{
get { return _zone; }
set
{
_zone = value;
choixCarte(_zone);
}
}
/// <summary>
/// Evénement qui permet d'ouvrir la page AddAShark
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void add_Click(object sender, RoutedEventArgs e)
{
//Test pour voir si l'utilisateur est connecté
if (MgrUser.SelectedUser == null)
{
MessageBox.Show("Vous avez besoin d'être connecté pour accéder à cette fonctionnalité");
var seConnecter = new SeConnecter();
seConnecter.ShowDialog();
}
//Test pour voir si c'est un Utilisateur
else if (MgrUser.SelectedUser is Utilisateur)
{
var addSharkWindow = new AddAShark();
addSharkWindow.ShowDialog();
}
//Test pour voir si c'est un Expert pour ouvrir la page ValiderSubmit au lieu de AddAShark
else if (MgrUser.SelectedUser is Expert)
{
var validerSumbit = new ValiderSubmit();
validerSumbit.ShowDialog();
}
}
/// <summary>
/// Evénement qui permet d'ouvrir soit la page CreerCompte soit InfoUtilisateur
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Inscription_Click(object sender, RoutedEventArgs e)
{
//Test pour voir si l'utilisateur est connecté
if (MgrUser.SelectedUser == null)
{
//Si il ne l'est pas ouvre la page CreerCompte
var inscrireWindow = new CreerCompte();
inscrireWindow.ShowDialog();
}
else
{
//Si il l'est ouvre la page InfoUtilisateur
var infoUser = new InfoUtilisateur{ pers = MgrUser.SelectedUser };
infoUser.ShowDialog();
}
}
/// <summary>
/// Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Arctique
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Arctique_MouseDown(object sender, MouseButtonEventArgs e)
{
//Appelle la fonction ChangeRegionAvecMap de la main window
((MainWindow)System.Windows.Application.Current.MainWindow).ChangeRegionAvecMap(Zone.ARCTIQUE);
}
/// <summary>
/// Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Atlantique
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Atlantique_MouseDown(object sender, MouseButtonEventArgs e)
{
//Appelle la fonction ChangeRegionAvecMap de la main window
((MainWindow)System.Windows.Application.Current.MainWindow).ChangeRegionAvecMap(Zone.ATLANTIQUE);
}
/// <summary>
/// Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Indien
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Indien_MouseDown(object sender, MouseButtonEventArgs e)
{
//Appelle la fonction ChangeRegionAvecMap de la main window
((MainWindow)System.Windows.Application.Current.MainWindow).ChangeRegionAvecMap(Zone.INDIEN);
}
/// <summary>
/// Evénement qui est déclenché lorsque l'utilisateur appouye sur une partie de la carte correspondant à l'océan Pacifique
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Pacifique_MouseDown(object sender, MouseButtonEventArgs e)
{
//Appelle la fonction ChangeRegionAvecMap de la main window
((MainWindow)System.Windows.Application.Current.MainWindow).ChangeRegionAvecMap(Zone.PACIFIQUE);
}
/// <summary>
/// Méthode qui permet de changer la source de la carte en fonction de la zone donnée en paramètre
/// </summary>
/// <param name="zone"></param>
private void choixCarte(Nullable<Zone> zone)
{
if (zone == null)
{
Carte = "Images/cartemaismieuxman.png";
}
else if (zone == Zone.ATLANTIQUE)
{
Carte = "Images/carteAtlantique.png";
}
else if(zone == Zone.ARCTIQUE)
{
Carte = "Images/carteArctique.png";
}
else if(zone == Zone.INDIEN)
{
Carte = "Images/carteIndien.png";
}
else if(zone == Zone.PACIFIQUE)
{
Carte = "Images/cartePacifique.png";
}
}
}
}