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.
ParionsCuites/ParionsCuite/ParionsCuite/MainPage.xaml.cs

151 lines
4.0 KiB

using System;
using System.Collections.ObjectModel;
using System.Diagnostics;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Platform;
using Microsoft.VisualBasic;
using ParionsCuite.Modeles;
using ParionsCuite.Views.Information;
using ParionsCuite.Views.Invite;
using ParionsCuite.Views.Participations.Autre;
namespace ParionsCuite;
public partial class MainPage : ContentPage
{
public Manageur mgr => (App.Current as App).MyManager;
Evenement EventSelect { get; set; }
public MainPage()
{
InitializeComponent();
this.BindingContext = this;
mgr.EvenementAdded += OnEvenementAdded;
ObservableCollection<Evenement> EventCharge = mgr.Charge_Donnee();
restoreEvent(EventCharge );
}
private void restoreEvent(ObservableCollection<Evenement> EventCharge)
{
foreach(Evenement ev in EventCharge) {
Debug.WriteLine("Événement ajoutéz : " + ev.Nom);
Button newButton = new Button
{
Text = ev.Nom,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center,
};
newButton.Clicked += (sender, e) =>
{
// Appel de la méthode qui récupère l'événement associé
SelectEvent(ev);
var newPage = new Views.Accueil();
changeButton.Content = newPage;
};
// Ajout du bouton au ButtonStackLayout
ButtonStackLayout.Children.Add(newButton); ;
}
mgr.Evenement = EventCharge;
Debug.WriteLine("Taille Event " + mgr.Evenement.Count());
//mgr.Save_Data();
}
private void OnEvenementAdded(Evenement evenement)
{
// Logique à exécuter lorsque un événement est ajouté
Debug.WriteLine("Événement ajoutéz : " + evenement.Nom);
Button newButton = new Button
{
Text = evenement.Nom,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center,
};
newButton.Clicked += (sender, e) =>
{
// Appel de la méthode qui récupère l'événement associé
SelectEvent(evenement);
var newPage = new Views.Accueil();
changeButton.Content = newPage;
};
// Ajout du bouton au ButtonStackLayout
ButtonStackLayout.Children.Add(newButton); ;
Debug.WriteLine("Taille Event " + mgr.Evenement.Count());
Debug.WriteLine(mgr.Evenement);
mgr.Save_Data();
}
public void SelectEvent(Evenement evenement)
{
Debug.WriteLine("Événement cliqué : " + evenement.Nom);
Debug.WriteLine("Date : " + evenement.Date);
Debug.WriteLine("Lieu : " + evenement.Lieu);
Debug.WriteLine("Heure : " + evenement.Heure);
EventSelect = evenement;
}
// Acces View Groupe
public void Button_Clicked(object sender, EventArgs e)
{
var newPage = new Views.Groupe();
changeButton.Content = newPage;
}
// Acces view Invite
private void InviteView(object sender, EventArgs e)
{
if (EventSelect == null) { return; }
var newPage = new Views.Invite.Inviter(EventSelect);
changeButton.Content = newPage;
}
// Acces view Participant
private void ParticipantView(object sender, EventArgs e)
{
if (EventSelect == null) { return; }
var newPage = new Views.Participations.Nourriture(EventSelect);
changeButton.Content = newPage;
}
//Acces View Pari
private void PariView(object sender, EventArgs e)
{
if (EventSelect == null) { return; }
var newPage = new Views.Pari.Parier(EventSelect);
changeButton.Content = newPage;
}
// Acces View Information
private void InfoView(object sender, EventArgs e)
{
if (EventSelect == null) { return; }
var newPage = new Views.Information.Info(EventSelect);
changeButton.Content = newPage;
}
}