From 83a644be024e4fc21628f733b55f1d3a263c91d9 Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Wed, 31 May 2023 16:49:21 +0200 Subject: [PATCH] Added Binding Context on transactionsPage --- src/Banquale/Banquale/Model/Account.cs | 25 ++++++++++++++ src/Banquale/Banquale/Model/Manager.cs | 11 +++++++ src/Banquale/Banquale/Model/Transactions.cs | 1 + .../Views/Balance/BalancePage.xaml.cs | 1 + .../Banquale/Views/TransactionsPage.xaml | 33 ++++++++++--------- .../Banquale/Views/TransactionsPage.xaml.cs | 5 ++- 6 files changed, 59 insertions(+), 17 deletions(-) diff --git a/src/Banquale/Banquale/Model/Account.cs b/src/Banquale/Banquale/Model/Account.cs index d11a7af..2da4503 100644 --- a/src/Banquale/Banquale/Model/Account.cs +++ b/src/Banquale/Banquale/Model/Account.cs @@ -63,12 +63,25 @@ namespace Banquale.Model } private string iban; + public string IBANHide + { + get => ibanHide; + set + { + if (ibanHide == value) + return; + ibanHide = value; + OnPropertyChanged(nameof(IBANHide)); + } + } + private string ibanHide; public Account(int balance, string name, string iban) { Balance = balance; Name = name; IBAN = iban; + IBANHide = IBANToString(); } [DataMember] @@ -117,6 +130,18 @@ namespace Banquale.Model throw new NotImplementedException(); } + public string IBANToString() + { + char[] res = IBAN.ToCharArray(); + for (int i = 5; i< IBAN.Length - 4; i++ ) + { + if (res[i] == ' ') + continue; + res[i] = '*'; + } + return new string(res); + } + public bool Equals(Account other) { if(other == null) return false; diff --git a/src/Banquale/Banquale/Model/Manager.cs b/src/Banquale/Banquale/Model/Manager.cs index ba1a3e4..2571e38 100644 --- a/src/Banquale/Banquale/Model/Manager.cs +++ b/src/Banquale/Banquale/Model/Manager.cs @@ -35,6 +35,17 @@ namespace Banquale.Model private Account selectedAccount; + public Transactions SelectedTransaction + { + get => selectedTransaction; + set + { + selectedTransaction = value; + } + } + + private Transactions selectedTransaction; + public IPersistenceManager Persistence { get; set; } public Manager(IPersistenceManager persistence) { diff --git a/src/Banquale/Banquale/Model/Transactions.cs b/src/Banquale/Banquale/Model/Transactions.cs index 2ebf0dd..424de11 100644 --- a/src/Banquale/Banquale/Model/Transactions.cs +++ b/src/Banquale/Banquale/Model/Transactions.cs @@ -97,6 +97,7 @@ namespace Banquale.Model Date = date; } + public event PropertyChangedEventHandler PropertyChanged; } } diff --git a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs index d11d362..2f64a78 100644 --- a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs +++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs @@ -17,6 +17,7 @@ public partial class BalancePage : ContentPage public async void Transaction_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e) { + Mgr.SelectedTransaction = Mgr.SelectedAccount.TransactionsList[0]; await Shell.Current.Navigation.PushAsync(new TransactionsPage()); } public async void Balance_Clicked(object sender, EventArgs e) diff --git a/src/Banquale/Banquale/Views/TransactionsPage.xaml b/src/Banquale/Banquale/Views/TransactionsPage.xaml index 4a60037..f60afc6 100644 --- a/src/Banquale/Banquale/Views/TransactionsPage.xaml +++ b/src/Banquale/Banquale/Views/TransactionsPage.xaml @@ -38,51 +38,52 @@