diff --git a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs index 0854e47..4b719b3 100644 --- a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs +++ b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs @@ -15,15 +15,21 @@ public partial class SwitchAccountPage : ContentPage public async void Transfer_Clicked(object sender, EventArgs e) { - Mgr.SelectedAccount = Mgr.SelectedCustomer.AccountsList[0]; // 0 � changer - if(Mgr.IsConsultant == true) - { - await Shell.Current.Navigation.PushAsync(new Balance.BalancePage()); - } - else - { - await Shell.Current.GoToAsync("//balance"); + var selectedItem = (sender as Button)?.BindingContext as Account; + + if (selectedItem != null) + { + Mgr.SelectedAccount = selectedItem; + if (Mgr.IsConsultant == true) + { + await Shell.Current.Navigation.PushAsync(new Balance.BalancePage()); + } + else + { + await Shell.Current.GoToAsync("//balance"); + } } + } async void DisconnectionClicked(object sender, EventArgs e) diff --git a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs index 45ab159..45bc017 100644 --- a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs +++ b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs @@ -25,7 +25,12 @@ public partial class TransferPage : ContentPage { if(acc.Name == Name.Text && acc.IBAN == IBAN.Text) { - acc.DoTransactions(acc, Convert.ToDouble(Sum.Text), true, count+1); // Type true car c'est un virement + if(Mgr.SelectedAccount.Balance - Convert.ToDouble(Sum.Text) < 0) + { + await DisplayAlert("Erreur", "Vous ne possèdez pas assez d'argent sur ce compte pour aboutir à la transaction", "OK"); + return; + } + Mgr.SelectedAccount.DoTransactions(acc, Convert.ToDouble(Sum.Text), true, count+1); // Type true car c'est un virement await Shell.Current.Navigation.PopAsync(); return; } diff --git a/src/Banquale/Model/Account.cs b/src/Banquale/Model/Account.cs index a0cdaae..3ab60ef 100644 --- a/src/Banquale/Model/Account.cs +++ b/src/Banquale/Model/Account.cs @@ -109,7 +109,17 @@ namespace Model /// Obtient ou définit la liste des transactions effectuées sur le compte. /// [DataMember(Order = 5)] - public ObservableCollection TransactionsList { get; set; } = new ObservableCollection(); + public ObservableCollection TransactionsList + { + get => transactionsList; + set + { + transactionsList = value; + OnPropertyChanged(nameof(TransactionsList)); + } + } + + private ObservableCollection transactionsList; /// /// Effectue une transaction entre le compte courant et un compte tiers. @@ -146,6 +156,7 @@ namespace Model Name = name; IBAN = iban; IBANHide = IBANToString(); + TransactionsList = new ObservableCollection(); } ///