From 9f9397ee77f1a4904bf06fa5f7daa98a59577f2f Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Wed, 17 May 2023 17:29:11 +0200 Subject: [PATCH 1/8] DataBinding add namespace --- src/Banquale/Banquale/Views/BalancePage.xaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/BalancePage.xaml index 636656b..bd522da 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml +++ b/src/Banquale/Banquale/Views/BalancePage.xaml @@ -2,6 +2,7 @@ -- 2.36.3 From 71b1b0a9a1fefe6e501f4a179ce950dff3b501bd Mon Sep 17 00:00:00 2001 From: anperederi Date: Fri, 19 May 2023 09:12:07 +0200 Subject: [PATCH 2/8] add transaction method in customers class --- src/Banquale/Banquale/Model/Client.cs | 14 ++++++++++++++ src/Banquale/Banquale/Views/RequestPage.xaml | 3 ++- src/Banquale/Banquale/Views/RequestPage.xaml.cs | 5 ++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Banquale/Banquale/Model/Client.cs b/src/Banquale/Banquale/Model/Client.cs index a647145..fc6f2ea 100644 --- a/src/Banquale/Banquale/Model/Client.cs +++ b/src/Banquale/Banquale/Model/Client.cs @@ -18,6 +18,20 @@ namespace Banquale.Model public Client(string nom, string prenom, string mdp) : base(nom, prenom, mdp) {} + //public bool DoTransactions(string name, string IBAN, float montant) + //{ + // List transactions.add(montant); + // if () + // return true; + //} + + //public bool DoRequest(string name, string IBAN, float montant) + //{ + // List transactions.add(montant); + // if () + // return true; + //} + } diff --git a/src/Banquale/Banquale/Views/RequestPage.xaml b/src/Banquale/Banquale/Views/RequestPage.xaml index 2ac7ea5..25d7e35 100644 --- a/src/Banquale/Banquale/Views/RequestPage.xaml +++ b/src/Banquale/Banquale/Views/RequestPage.xaml @@ -13,7 +13,8 @@ + WidthRequest="280" + x:Name="Name"/> diff --git a/src/Banquale/Banquale/Views/RequestPage.xaml.cs b/src/Banquale/Banquale/Views/RequestPage.xaml.cs index 8013e8f..0d2a45a 100644 --- a/src/Banquale/Banquale/Views/RequestPage.xaml.cs +++ b/src/Banquale/Banquale/Views/RequestPage.xaml.cs @@ -1,4 +1,5 @@ -namespace Banquale.Views; +using Banquale.Model; +namespace Banquale.Views; public partial class RequestPage : ContentPage { @@ -12,4 +13,6 @@ public partial class RequestPage : ContentPage // await Shell.Current.GoToAsync("//balance"); //} + //Client.DoRequest(this.name, this.IBAN, ) + } -- 2.36.3 From 6875c6e718454d193cbe0e8b96051d12c3ef76b0 Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Sat, 20 May 2023 17:18:37 +0200 Subject: [PATCH 3/8] Start of databinding, add OnPropertyChanged --- src/Banquale/Banquale/Model/Compte.cs | 59 +++++++++++++- .../Banquale/Model/IPersistanceManager.cs | 2 +- src/Banquale/Banquale/Model/Transactions.cs | 79 +++++++++++++++++-- src/Banquale/Banquale/Stub/Stub.cs | 23 +++++- src/Banquale/Banquale/Views/BalancePage.xaml | 12 ++- .../Banquale/Views/BalancePage.xaml.cs | 6 +- 6 files changed, 160 insertions(+), 21 deletions(-) diff --git a/src/Banquale/Banquale/Model/Compte.cs b/src/Banquale/Banquale/Model/Compte.cs index 0df7fce..4172fb3 100644 --- a/src/Banquale/Banquale/Model/Compte.cs +++ b/src/Banquale/Banquale/Model/Compte.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -7,14 +8,64 @@ using System.Threading.Tasks; namespace Banquale.Model { - public class Compte + public class Compte : INotifyPropertyChanged { - public int Solde { get; set; } - public string Nom { get; set;} + public event PropertyChangedEventHandler PropertyChanged; - public string IBAN { get; set; } + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public double Solde + { + get => solde; + set + { + if (solde == value) + return; + solde = value; + OnPropertyChanged(nameof(Solde)); + } + } + private double solde; + + + + public string Nom + { + get => nom; + set + { + if (nom == value) + return; + nom = value; + OnPropertyChanged(nameof(Nom)); + } + } + private string nom; + + public string IBAN + { + get => iBAN; + set + { + if (iBAN == value) + return; + iBAN = value; + OnPropertyChanged(nameof(IBAN)); + } + } + private string iBAN; public List CompteList { get; set; } + + public Compte(int solde, string nom, string iBAN) + { + Solde = solde; + Nom = nom; + IBAN = iBAN; + } } } diff --git a/src/Banquale/Banquale/Model/IPersistanceManager.cs b/src/Banquale/Banquale/Model/IPersistanceManager.cs index 9ebe4c5..601875e 100644 --- a/src/Banquale/Banquale/Model/IPersistanceManager.cs +++ b/src/Banquale/Banquale/Model/IPersistanceManager.cs @@ -10,6 +10,6 @@ namespace Banquale.Model { public (List, List) ChargeDonnee(); - void SauvegardeDonnee(List c, List t); + void SauvegardeDonnee(List c, List t /*, List c2*/); } } diff --git a/src/Banquale/Banquale/Model/Transactions.cs b/src/Banquale/Banquale/Model/Transactions.cs index 8c140d8..8211cb9 100644 --- a/src/Banquale/Banquale/Model/Transactions.cs +++ b/src/Banquale/Banquale/Model/Transactions.cs @@ -1,26 +1,93 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Banquale.Model { - public class Transactions + public class Transactions : INotifyPropertyChanged { - public int Type { get; private set; } - public int Somme { get; private set; } + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + public int Type + { + get => type; + set + { + if(type == value) + return; + type = value; + OnPropertyChanged(nameof(Type)); + } + } + + private int type; + + public Double Somme + { + get => somme; + set + { + if (somme == value) + return; + somme = value; + OnPropertyChanged(nameof(Somme)); + } + } + private Double somme; - public Compte CompteImplique { get; private set; } + public Compte CompteImplique + { + get => compteImplique; + set + { + if (compteImplique == value) + return; + compteImplique = value; + OnPropertyChanged(nameof(CompteImplique)); + } + } + private Compte compteImplique; - public string Categorie { get; private set; } + public string Categorie + { + get => categorie; + set + { + if (categorie == value) + return; + categorie = value; + OnPropertyChanged(nameof(Categorie)); + } + } + private string categorie; - public Transactions(int type, int somme, Compte compteImplique, string categorie) { + public DateTime Date + { + get => date; + set + { + if (date == value) + return; + date = value; + OnPropertyChanged(nameof(Date)); + } + } + private DateTime date; + + public Transactions(int type, Double somme, Compte compteImplique, string categorie, DateTime date) { Type = type; Somme = somme; CompteImplique = compteImplique; Categorie = categorie; + Date = date; } + + public event PropertyChangedEventHandler PropertyChanged; } } diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index a26c151..2b571fb 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -3,21 +3,36 @@ using Banquale.Model; namespace Banquale.Stub { - public class Stub : IPersistanceManager - { + public class Stub : IPersistanceManager + { - public (List, List) ChargeDonnee() + public (List, List /*, List*/) ChargeDonnee() { Client Client1 = new Client("Jacques", "Morice", "J'aimeLesFrites"); Client Client2 = new Client("Francis", "Begore", "J'aimeLes"); Client Client3 = new Client("Michel", "Boudout", "MonMdP"); + + Compte Compte1 = new Compte(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004"); + Compte Compte2 = new Compte(9510, "Despoints", "FR76 4785 8569 6914 4152 5263 003"); + Compte Compte3 = new Compte(3519, "Perotte", "FR76 6352 2541 4169 6958 5847 002"); + + + Transactions Transactions1 = new Transactions(0, 55, Compte1, "Test", new DateTime(2023, 6, 21)); + Transactions Transactions2 = new Transactions(1, 54.99, Compte2, "Test", new DateTime(2022, 8, 15)); + Transactions Transactions3 = new Transactions(0, 1000, Compte3, "Test", new DateTime(2020, 9, 1)); + Console.WriteLine(Client1); List ListeClients = new List(); List ListeTransactions = new List(); + //List ListeCompte = new List(); + //ListeCompte.Add( Compte1 ); + //ListeCompte.Add(Compte2); + //ListeCompte.Add(Compte3); + ListeClients.Add(Client1); ListeClients.Add(Client2); ListeClients.Add(Client3); - return (ListeClients, ListeTransactions); + return (ListeClients, ListeTransactions /*, ListeCompte*/); } public void SauvegardeDonnee(List c, List t) diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/BalancePage.xaml index bd522da..34491e7 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml +++ b/src/Banquale/Banquale/Views/BalancePage.xaml @@ -2,10 +2,11 @@ + Shell.NavBarIsVisible="False" +>