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.
Ohara_MAUI/Sources/Ohara/ModalEquipage.xaml.cs

92 lines
2.9 KiB

using Model.Classes;
using Model.Managers;
using System.Collections.Generic;
namespace Ohara;
public partial class ModalEquipage : ContentPage
{
public Manager manager => (App.Current as App).manager;
public Equipage nouvelEquipage;
public string ancienNom;
public ModalEquipage()
{
if (manager.SelectedItem != null)
{
nouvelEquipage = manager.SelectedItem as Equipage;
ancienNom = nouvelEquipage.Nom;
}
else
{
nouvelEquipage = new Equipage("Equipage", " ", " ", 0,0,true," ");
}
InitializeComponent();
BindingContext = nouvelEquipage;
framePicker.BindingContext = manager;
listeCapitaine.ItemsSource = manager.Personnages;
}
private async void ButtonConfirmer_Clicked(object sender, EventArgs e)
{
if (manager.SelectedItem != null)
{
if (nouvelEquipage.PremierChap < 0 || nouvelEquipage.PremierEp < 0)
{
await DisplayAlert("Erreur", "Les paramètres PremierChap et PremierEp doivent être superieur à 0.", "OK");
return;
}
manager.ModifierEquipage(nouvelEquipage, ancienNom);
nouvelEquipage = manager.SelectedItem as Equipage;
}
else
{
if (nouvelEquipage.PremierChap < 0 || nouvelEquipage.PremierEp < 0)
{
await DisplayAlert("Erreur", "Les paramètres PremierChap et PremierEp doivent être superieur à 0.", "OK");
return;
}
manager.AjouterEquip(nouvelEquipage);
}
await Navigation.PopModalAsync();
}
private async void ButtonAnnuler_Clicked(object sender, EventArgs e)
{
await Navigation.PopModalAsync();
}
private async void ButtonImage_Clicked(object sender, EventArgs e)
{
var result = await FilePicker.PickAsync(new PickOptions
{
PickerTitle = "Choisissez une image ...",
FileTypes = FilePickerFileType.Images,
});
if (result != null)
{
var stream = result.FullPath;
nouvelEquipage.Image = stream;
}
}
private void AjoutAllie(object sender, SelectionChangedEventArgs e)
{
if (nouvelEquipage.Allie != null)
nouvelEquipage.ViderAllie();
foreach (var equipage in listeAllie.SelectedItems)
{
nouvelEquipage.AjouterAllie(equipage as Equipage);
}
}
private void AjoutMembre(object sender, SelectionChangedEventArgs e)
{
if (nouvelEquipage.Membre != null)
nouvelEquipage.ViderMembre();
foreach (var perso in listeMembre.SelectedItems)
{
nouvelEquipage.AjouterMembre(perso as Personnage);
}
}
private void AjoutCapitaine(object sender, SelectionChangedEventArgs e)
{
nouvelEquipage.Capitaine = listeCapitaine.SelectedItem as Personnage;
}
}