C#
Tony Fages 2 years ago
parent 7bf21da261
commit 84585d29b7

@ -5,6 +5,7 @@ using System.IO;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using ParionsCuite.Modeles; using ParionsCuite.Modeles;
using System.Collections.ObjectModel;
namespace ParionsCuite.DataContractPersistance namespace ParionsCuite.DataContractPersistance
{ {
@ -16,22 +17,22 @@ namespace ParionsCuite.DataContractPersistance
public DataContractPersistance() { } public DataContractPersistance() { }
public List<Evenement> chargeDonnees() public ObservableCollection<Evenement> chargeDonnees()
{ {
var serializer = new DataContractSerializer(typeof(List<Evenement>)); var serializer = new DataContractSerializer(typeof(ObservableCollection<Evenement>));
List<Evenement> list; ObservableCollection<Evenement> list;
using (Stream s = File.OpenRead(Path.Combine(FilePath, FileName))) using (Stream s = File.OpenRead(Path.Combine(FilePath, FileName)))
{ {
list = serializer.ReadObject(s) as List<Evenement>; list = serializer.ReadObject(s) as ObservableCollection<Evenement>;
} }
return list; return list;
} }
public void sauvegardeDonnees(List<Evenement> evenements) public void sauvegardeDonnees(ObservableCollection<Evenement> evenements)
{ {
var serializer = new DataContractSerializer(typeof(List<Evenement>)); var serializer = new DataContractSerializer(typeof(ObservableCollection<Evenement>));
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))
{ {
Debug.WriteLine("Sauvegarde des données dans:"); Debug.WriteLine("Sauvegarde des données dans:");

@ -26,18 +26,23 @@
<!-- Première colonne --> <!-- Première colonne -->
<Grid Grid.Column="0" BackgroundColor="LightGray" x:Name="GridMenu"> <ScrollView Grid.Column="0" BackgroundColor="LightGrey">
<StackLayout> <StackLayout x:Name="ButtonStackLayout">
<Button Text="Groupe 1" <Button Text="test"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center"/> HorizontalOptions="Center"/>
<Button Text="test"
<Button Text="+" VerticalOptions="Center"
HorizontalOptions="Center"/>
<Button Text="test"
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center" Clicked="Button_Clicked"/> HorizontalOptions="Center"/>
</StackLayout> </StackLayout>
</Grid> </ScrollView>
<!-- Deuxième colonne --> <!-- Deuxième colonne -->
<Grid Grid.Column="1"> <Grid Grid.Column="1">

@ -1,4 +1,5 @@
using System; using System;
using System.Collections.ObjectModel;
using Microsoft.Maui.Controls; using Microsoft.Maui.Controls;
using Microsoft.Maui.Platform; using Microsoft.Maui.Platform;
using Microsoft.VisualBasic; using Microsoft.VisualBasic;
@ -11,10 +12,10 @@ namespace ParionsCuite;
public partial class MainPage : ContentPage public partial class MainPage : ContentPage
{ {
public MainPage() public MainPage()
{ {
InitializeComponent(); InitializeComponent();
this.BindingContext = this;
} }

@ -15,13 +15,12 @@ namespace ParionsCuite.Modeles
[DataMember] [DataMember]
public string Nom { get; private set; } public string Nom { get; private set; }
[DataMember] [DataMember]
public DateTime Date { get; private set; } public string Date { get; private set; }
[DataMember] [DataMember]
public string Lieu { get; private set; } public string Lieu { get; private set; }
[DataMember] [DataMember]
public int Heure { get; private set; } public string Heure { get; private set; }
[DataMember]
public int Minute { get; private set; }
[DataMember] [DataMember]
public Participation Participation { get; private set; } public Participation Participation { get; private set; }
[DataMember] [DataMember]
@ -31,23 +30,21 @@ namespace ParionsCuite.Modeles
/* Constructeur */ /* Constructeur */
public Evenement(string nom, DateTime date, string lieu, int heure, int minute) public Evenement(string nom, string date, string lieu, string heure)
{ {
Nom = nom; Nom = nom;
Date = date; Date = date;
Lieu = lieu; Lieu = lieu;
Heure = heure; Heure = heure;
Minute = minute;
ListInviter = new List<Inviter>(); ListInviter = new List<Inviter>();
ListParier = new List<Parier>(); ListParier = new List<Parier>();
} }
public Evenement(string nom, DateTime date, string lieu, int heure, int minute, Participation participation) public Evenement(string nom, string date, string lieu, string heure, Participation participation)
{ {
Nom = nom; Nom = nom;
Date = date; Date = date;
Lieu = lieu; Lieu = lieu;
Heure = heure; Heure = heure;
Minute = minute;
Participation = participation; Participation = participation;
ListInviter = new List<Inviter>(); ListInviter = new List<Inviter>();
ListParier = new List<Parier>(); ListParier = new List<Parier>();
@ -108,13 +105,12 @@ namespace ParionsCuite.Modeles
} }
/* Setter */ /* Setter */
public void SetEvenement(string nom, DateTime date, string lieu, int heure, int minute) public void SetEvenement(string nom, string date, string lieu, string heure)
{ {
Nom = nom; Nom = nom;
Date = date; Date = date;
Lieu = lieu; Lieu = lieu;
Heure = heure; Heure = heure;
Minute = minute;
return; return;
} }

@ -1,12 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace ParionsCuite.Modeles namespace ParionsCuite.Modeles
{ {
public interface IPersistanceManager public interface IPersistanceManager
{ {
public List<Evenement> chargeDonnees(); public ObservableCollection<Evenement> chargeDonnees();
public void sauvegardeDonnees(List<Evenement> evenements); public void sauvegardeDonnees(ObservableCollection<Evenement> evenements);
} }
} }

@ -13,26 +13,26 @@ namespace ParionsCuite.Modeles
{ {
public event PropertyChangedEventHandler PropertyChanged; public event PropertyChangedEventHandler PropertyChanged;
public List<Evenement> Evenement { get; private set; } public ObservableCollection<Evenement> Evenement { get; private set; }
public List<Inviter> Invites { get; set; } public List<Inviter> Invites { get; set; }
public IPersistanceManager Persistance { get; set; } public IPersistanceManager Persistance { get; set; }
public Manageur(IPersistanceManager Pers) { public Manageur(IPersistanceManager Pers) {
Invites = new List<Inviter>(); Invites = new List<Inviter>();
Evenement = new List<Evenement>(); Evenement = new ObservableCollection<Evenement>();
Persistance = Pers; Persistance = Pers;
} }
public Manageur() public Manageur()
{ {
Evenement = new List<Evenement>(); Evenement = new ObservableCollection<Evenement>();
Invites = new List<Inviter>(); Invites = new List<Inviter>();
} }
public Manageur(List<Evenement> evenements) public Manageur(ObservableCollection<Evenement> evenements)
{ {
Evenement = evenements.ToList(); Evenement = evenements;
} }
public bool Ajout_evenement(Evenement ev) public bool Ajout_evenement(Evenement ev)
@ -81,7 +81,10 @@ namespace ParionsCuite.Modeles
public void Charge_Donnee() public void Charge_Donnee()
{ {
var donnees = Persistance.chargeDonnees(); var donnees = Persistance.chargeDonnees();
this.Evenement.AddRange(donnees); foreach (var donnee in donnees)
{
Evenement.Add(donnee);
}
} }

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using ParionsCuite.Modeles; using ParionsCuite.Modeles;
namespace ParionsCuite.Stub; namespace ParionsCuite.Stub;
@ -9,9 +10,9 @@ public class Stub : IPersistanceManager
{ {
} }
public List<Evenement> chargeDonnees() public ObservableCollection<Evenement> chargeDonnees()
{ {
List<Evenement> lisEvent = new List<Evenement>(); ObservableCollection<Evenement> lisEvent = new ObservableCollection<Evenement>();
List<Boisson> boissons = new List<Boisson>(); List<Boisson> boissons = new List<Boisson>();
List<Nourriture> nourritures = new List<Nourriture>(); List<Nourriture> nourritures = new List<Nourriture>();
List<Autre> autres = new List<Autre>(); List<Autre> autres = new List<Autre>();
@ -23,12 +24,12 @@ public class Stub : IPersistanceManager
autres.Add(a); autres.Add(a);
Participation p = new(boissons,nourritures, autres); Participation p = new(boissons,nourritures, autres);
DateTime dt = new(2018, 7, 24); DateTime dt = new(2018, 7, 24);
Evenement e = new ("nom", dt, "lieu", 12, 30, p); Evenement e = new ("nom", "dt", "lieu", "12", p);
lisEvent.Add(e); lisEvent.Add(e);
return lisEvent; return lisEvent;
} }
public void sauvegardeDonnees(List<Evenement> evenements) public void sauvegardeDonnees(ObservableCollection<Evenement> evenements)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

@ -8,7 +8,7 @@ namespace ParionsCuite.Views;
public partial class Groupe : ContentView public partial class Groupe : ContentView
{ {
public Manageur mgr = new Manageur(); public Manageur mgr = new Manageur();
public List<Evenement> Evenements { get; set; } = new List<Evenement>(); public ObservableCollection<Evenement> Evenements { get; set; } = new ObservableCollection<Evenement>();
public Groupe() public Groupe()
{ {

@ -5,6 +5,8 @@ namespace ParionsCuite.Views.Information;
public partial class Info : ContentView public partial class Info : ContentView
{ {
public Manageur mgr => (App.Current as App).MyManager;
public Info() public Info()
{ {
InitializeComponent(); InitializeComponent();

@ -5,7 +5,7 @@
x:Class="ParionsCuite.Views.Invite.Inviter"> x:Class="ParionsCuite.Views.Invite.Inviter">
<VerticalStackLayout > <VerticalStackLayout >
<!--Grid Pincipale--> <!--Grid Pincipale-->
<Grid ColumnDefinitions="8*,*,10*"> <Grid ColumnDefinitions="8*,*,10*" x:Name="gridInvite">
<!--Input des noms et prenoms--> <!--Input des noms et prenoms-->
<StackLayout Grid.Column="0" > <StackLayout Grid.Column="0" >

@ -5,7 +5,7 @@ namespace ParionsCuite.Views.Invite;
public partial class Inviter : ContentView public partial class Inviter : ContentView
{ {
public Manageur m = new Manageur(); public Manageur mgr => (App.Current as App).MyManager;
public Modeles.Inviter Inviters { get; private set; } = new Modeles.Inviter(); public Modeles.Inviter Inviters { get; private set; } = new Modeles.Inviter();
public Inviter() public Inviter()
@ -21,7 +21,7 @@ public partial class Inviter : ContentView
public void restoreListInvite() public void restoreListInvite()
{ {
List<Modeles.Inviter> listInvite = m.ReturnListInvite(); List<Modeles.Inviter> listInvite = mgr.ReturnListInvite();
Debug.WriteLine(listInvite); Debug.WriteLine(listInvite);
int len = listInvite.Count; int len = listInvite.Count;
foreach (Modeles.Inviter inviter in listInvite) { foreach (Modeles.Inviter inviter in listInvite) {
@ -63,10 +63,11 @@ public partial class Inviter : ContentView
string prenom = prenomEditor.Text; string prenom = prenomEditor.Text;
if (nom == null || prenom == null) { return; } if (nom == null || prenom == null) { return; }
Modeles.Inviter invite1 = new Modeles.Inviter(nom, prenom); Modeles.Inviter invite1 = new Modeles.Inviter(nom, prenom);
List<Modeles.Inviter> invites = m.AddInvite(invite1); List<Modeles.Inviter> invites = mgr.AddInvite(invite1);
int len = 1;//m.LenListInvite(invites);
int len = 1;
//if (len == 0 ) { len = 1; } //if (len == 0 ) { len = 1; }
Debug.WriteLine("LA taille de la liste est de " + m.LenListInvite(invites)); Debug.WriteLine("LA taille de la liste est de " + mgr.LenListInvite(invites));
foreach (Modeles.Inviter inviter in invites) foreach (Modeles.Inviter inviter in invites)
{ {
RowDefinition row = new RowDefinition(); RowDefinition row = new RowDefinition();
@ -98,7 +99,7 @@ public partial class Inviter : ContentView
GrilleInvite.Children.Add(buttonMoins ); GrilleInvite.Children.Add(buttonMoins );
//GrilleInvite.HeightRequest = Height + 2; //GrilleInvite.HeightRequest = Height + 2;
len++; len = len +1 ;
} }
} }
@ -141,12 +142,12 @@ public partial class Inviter : ContentView
string nom = nomLabel.Text; string nom = nomLabel.Text;
// Rechercher l'invité correspondant dans la liste // Rechercher l'invité correspondant dans la liste
Modeles.Inviter inviter = m.ReturnListInvite().FirstOrDefault(i => i.Prenom == prenom && i.Nom == nom); Modeles.Inviter inviter = mgr.ReturnListInvite().FirstOrDefault(i => i.Prenom == prenom && i.Nom == nom);
if (inviter != null) if (inviter != null)
{ {
// Supprimer l'invité de la liste // Supprimer l'invité de la liste
m.RemoveInviter(inviter); mgr.RemoveInviter(inviter);
// Supprimer les éléments de la ligne de la grille // Supprimer les éléments de la ligne de la grille
parentGrid.Children.Remove(prenomLabel); parentGrid.Children.Remove(prenomLabel);

Loading…
Cancel
Save