Tony Fages 2 years ago
parent 799ebeec21
commit 98001a4f60

@ -95,9 +95,9 @@ public partial class MainPage : ContentPage
//Acces View Pari
private void PariView(object sender, EventArgs e)
{
//if (EventSelect == null) { return; }
if (EventSelect == null) { return; }
var newPage = new Views.Pari.Parier();
var newPage = new Views.Pari.Parier(EventSelect);
changeButton.Content = newPage;
}

@ -1,7 +1,9 @@
using ParionsCuite.Views.Invite;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
@ -31,9 +33,41 @@ namespace ParionsCuite.Modeles
public Participation Participation { get; private set; }
[DataMember]
public List<Inviter> ListInviter { get; private set; }
public event Action<Parier> PariAdd;
[DataMember]
public List<Parier> ListParier { get; private set; }
private ObservableCollection<Parier> listParier;
public ObservableCollection<Parier> ListParier
{
get { return listParier; }
set
{
if (listParier != value)
{
listParier = value;
OnPropertyChanged();
OnPariAdded(value.LastOrDefault()); // Appel de la fonction après ajout d'un événement
}
}
}
private void OnPariAdded(Parier parier)
{
// Logique à exécuter lorsque un événement est ajouté
Debug.WriteLine("Événement ajouté : ");
}
public bool Ajout_Pari(Parier pari)
{
ListParier.Add(pari);
OnPropertyChanged(nameof(Parier));
PariAdd?.Invoke(pari);
return true;
}
/* Constructeur */
public Evenement(string nom, string date, string lieu, string heure)
@ -43,7 +77,7 @@ namespace ParionsCuite.Modeles
Lieu = lieu;
Heure = heure;
ListInviter = new List<Inviter>();
ListParier = new List<Parier>();
ListParier = new ObservableCollection<Parier>();
Participation = new Participation();
}
public Evenement(string nom, string date, string lieu, string heure, Participation participation)
@ -54,7 +88,7 @@ namespace ParionsCuite.Modeles
Heure = heure;
Participation = participation;
ListInviter = new List<Inviter>();
ListParier = new List<Parier>();
ListParier = new ObservableCollection<Parier>();
}
public Evenement(List<Inviter> inviters, List<Participation> participations, List<Parier> pariers)

@ -17,6 +17,11 @@ namespace ParionsCuite.Modeles
Prenom = prenom;
}
public Inviter(string prenom)
{
Prenom = prenom;
}
public Inviter()
{

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace ParionsCuite.Modeles
{
[DataContract]
public class Parier
public class Parier
{
[DataMember]
public Inviter i1;

@ -68,6 +68,9 @@
<MauiXaml Update="Views\Invite\Inviter.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\Pari\InfoPAri.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\Pari\Parier.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>

@ -10,26 +10,24 @@
<Label Text="Parieur(s) 1 :" FontSize="Title" HorizontalOptions="Center"/>
<Label Grid.Column="2" Text="Parieur(s) 2 :" FontSize="Title" HorizontalOptions="End"/>
<Entry Grid.Row="1" Placeholder="Entrer nom" FontSize="Title" HorizontalOptions="Center"/>
<Button Grid.Row="1" Grid.Column="1" Text="+" Margin="5"/>
<Entry Grid.Row="1" Placeholder="Entrer nom" x:Name="Parieur1" FontSize="Title" HorizontalOptions="Center"/>
<Entry Grid.Row="1" Grid.Column="2" Placeholder="Entrer nom" FontSize="Title" HorizontalOptions="Center"/>
<Button Grid.Row="1" Grid.Column="3" Text="+" Margin="5"/>
<Entry Grid.Row="1" Grid.Column="2" Placeholder="Entrer nom" x:Name="Parieur2" FontSize="Title" HorizontalOptions="Center"/>
</Grid>
<!--Ajout But+Enjeux-->
<Grid Margin="20" ColumnDefinitions="*,*" RowDefinitions="*,*">
<Label Text="But du pari :" FontSize="Title" HorizontalOptions="Center"/>
<Entry Grid.Column="1" Placeholder="Entrer" FontSize="Title" HorizontalOptions="Center"/>
<Entry Grid.Column="1" Placeholder="Entrer" x:Name="ButPari" FontSize="Title" HorizontalOptions="Center"/>
<Label Grid.Row="1" Text="Enjeux du pari :" FontSize="Title" HorizontalOptions="Center"/>
<Entry Grid.Row="1" Grid.Column="1" Placeholder="Entrer" FontSize="Title" HorizontalOptions="Center"/>
<Entry Grid.Row="1" Grid.Column="1" Placeholder="Entrer" x:Name="EnjeuxPari" FontSize="Title" HorizontalOptions="Center"/>
</Grid>
<!--Button ajouter-->
<StackLayout>
<Button Text="Ajouter Pari" HorizontalOptions="Start" FontSize="Title" Margin="500,30,0,0"/>
<Button Text="Ajouter Pari" Clicked="NewPari" HorizontalOptions="Start" FontSize="Title" Margin="500,30,0,0"/>
</StackLayout>
</VerticalStackLayout>
</ContentView>

@ -1,9 +1,40 @@
namespace ParionsCuite.Views.Ajout_Paris;
using ParionsCuite.Modeles;
using System.Diagnostics;
namespace ParionsCuite.Views.Ajout_Paris;
public partial class Ajouts_Pari : ContentView
{
public Ajouts_Pari()
readonly Evenement EventSelect;
public Manageur mgr => (App.Current as App).MyManager;
public Ajouts_Pari(Evenement EventSelect)
{
InitializeComponent();
}
this.EventSelect = EventSelect;
EventSelect.PariAdd += OnPariAdded;
}
private void OnPariAdded(Parier Parier)
{
Debug.WriteLine("Test");
}
private void NewPari(object sender, EventArgs e)
{
string parieur1 = Parieur1.Text;
string parieur2 = Parieur2.Text;
string but = ButPari.Text;
string enjeux = EnjeuxPari.Text;
Inviter NewParieur1 = new Inviter(parieur1);
Inviter NewParieur2 = new Inviter(parieur1);
Modeles.Parier newPari = new Parier(NewParieur1, NewParieur2, but, enjeux);
EventSelect.ListParier.Add(newPari);
EventSelect.Ajout_Pari(newPari);
Debug.WriteLine("Taille Liste : " + EventSelect.ListParier.Count());
}
}

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ParionsCuite.Views.Pari.InfoPAri">
<VerticalStackLayout>
<!--P1 vs P2-->
<Grid ColumnDefinitions="2*,*,2*,2*,*,2*">
<Button Text="Parieur 1" Margin="40,0,0,0"/>
<Button Text="+" Grid.Column="1"/>
<Label Text="Contre" Grid.Column="2" HorizontalOptions="Center" FontAttributes="Bold" FontSize="Title"/>
<Button Text="Parieur 2" Grid.Column="3" />
<Button Text="+" Grid.Column="4"/>
<Button Text="Supprimer Pari" Grid.Column="5" Margin="50,0,0,0"/>
</Grid>
<!--Info Pari-->
<TableView RowHeight="70" Margin="30,0,0,0" HorizontalOptions="Start" WidthRequest="1000">
<TableRoot>
<TableSection>
<EntryCell Label="But du Pari"/>
<EntryCell Label="Enjeux du Pari"/>
<SwitchCell Text="Pari terminé" On="False" />
<SwitchCell Text="Joueur(s) 1 gagnant" On="True" />
<SwitchCell Text="Joueur(s) 2 gagnant" On="True" />
</TableSection>
</TableRoot>
</TableView>
</VerticalStackLayout>
</ContentView>

@ -0,0 +1,9 @@
namespace ParionsCuite.Views.Pari;
public partial class InfoPAri : ContentView
{
public InfoPAri()
{
InitializeComponent();
}
}

@ -1,37 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ParionsCuite.Views.Pari.Parier">
x:Class="ParionsCuite.Views.Pari.Parier"
xmlns:AjoutINfo="clr-namespace:ParionsCuite.Views.Pari">
<VerticalStackLayout>
<!--Grid Pari-->
<Grid ColumnDefinitions="*,*,*,*" x:Name="GridPari">
<Button Text="Ajouter Pari" Grid.Column="1" Clicked="AjoutPariView"/>
<Grid ColumnDefinitions="auto" x:Name="GridPari">
<Button Text="Ajouter Pari" Grid.Column="1" Clicked="SwitchView"/>
</Grid>
<!--P1 vs P2-->
<Grid ColumnDefinitions="2*,*,2*,2*,*,2*">
<Button Text="Parieur 1" Margin="40,0,0,0"/>
<Button Text="+" Grid.Column="1"/>
<Label Text="Contre" Grid.Column="2" HorizontalOptions="Center" FontAttributes="Bold" FontSize="Title"/>
<Button Text="Parieur 2" Grid.Column="3" />
<Button Text="+" Grid.Column="4"/>
<Button Text="Supprimer Pari" Grid.Column="5" Margin="50,0,0,0"/>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<ContentView x:Name="changeButton" >
</ContentView>
</Grid>
<!--Info Pari-->
<TableView RowHeight="70" Margin="30,0,0,0" HorizontalOptions="Start" WidthRequest="1000">
<TableRoot>
<TableSection>
<EntryCell Label="But du Pari"/>
<EntryCell Label="Enjeux du Pari"/>
<SwitchCell Text="Pari terminé" On="False" />
<SwitchCell Text="Joueur(s) 1 gagnant" On="True" />
<SwitchCell Text="Joueur(s) 2 gagnant" On="True" />
</TableSection>
</TableRoot>
</TableView>
</VerticalStackLayout>
</ContentView>

@ -7,38 +7,48 @@ using ParionsCuite.Views.Information;
using ParionsCuite.Views.Invite;
using ParionsCuite;
using ParionsCuite.Views.Participations.Autre;
using System.Diagnostics;
namespace ParionsCuite.Views.Pari;
public partial class Parier : ContentView
{
public Parier()
{
InitializeComponent();
}
readonly Evenement EventSelect;
private void AjoutPariView(object sender, EventArgs e)
public Parier(Evenement EventSelect)
{
// Création d une nouvelle colonne pour la grille
InitializeComponent();
this.EventSelect = EventSelect;
EventSelect.PariAdd += OnPariAdded;
}
private void OnPariAdded(Modeles.Parier obj)
{
// Créer une nouvelle colonne pour la grille
ColumnDefinition column = new ColumnDefinition();
column.Width = new GridLength(1, GridUnitType.Star);
// Ajout la colonne à la grille
// Ajouter la colonne à la grille
GridPari.ColumnDefinitions.Add(column);
// Ajout bouton
// Créer un élément visuel pour la nouvelle colonne (par exemple, un bouton)
Button newButton = new Button();
newButton.Text = "Nouveau bouton";
newButton.Clicked += BoutonSupprimer_Clicked;
newButton.Text = EventSelect.ListParier[0].But;
// Placemenent element
// Placer le nouvel élément dans la grille en utilisant la nouvelle colonne
Grid.SetColumn(newButton, GridPari.ColumnDefinitions.Count); // L'index de la colonne est basé sur 0
// Ajout l'élément à la grille
// Ajouter l'élément à la grille
GridPari.Children.Add(newButton);
}
private void BoutonSupprimer_Clicked(object sender, EventArgs e)
}
private void SwitchView(object sender, EventArgs e)
{
throw new NotImplementedException();
var newPage = new Views.Ajout_Paris.Ajouts_Pari(EventSelect);
changeButton.Content = newPage;
}
}
Loading…
Cancel
Save