diff --git a/src/Banquale/Banquale/App.xaml.cs b/src/Banquale/Banquale/App.xaml.cs
index 5aee24c..b1b8ce2 100644
--- a/src/Banquale/Banquale/App.xaml.cs
+++ b/src/Banquale/Banquale/App.xaml.cs
@@ -9,19 +9,23 @@ public partial class App : Application
public Manager MyManager { get; private set; } = new Manager(new Stub.Stub() /*DataContractPersistance.DataContractPersXML()*/);
-
+
public App()
{
MyManager.DataLoad();
MyManager.Persistence = new DataContractPersistance.DataContractPersXML();
- MyManager.DataSave();
+ MyManager.DataSave();
InitializeComponent();
MainPage = new AppShell();
- }
+ //MyManager.SelectedTransaction = MyManager.CustomersList[0].AccountsList[0].TransactionsList[0];
+
+ //MainPage = new Views.TransactionsPage();
+
+ }
}
diff --git a/src/Banquale/Banquale/AppShell.xaml b/src/Banquale/Banquale/AppShell.xaml
index 68c2ba6..f3a2300 100644
--- a/src/Banquale/Banquale/AppShell.xaml
+++ b/src/Banquale/Banquale/AppShell.xaml
@@ -4,6 +4,7 @@
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:views="clr-namespace:Banquale.Views"
+ xmlns:balance="clr-namespace:Banquale.Views.Balance"
xmlns:transfer="clr-namespace:Banquale.Views.Transfer"
Shell.FlyoutBehavior="Disabled">
@@ -15,7 +16,7 @@
diff --git a/src/Banquale/Banquale/Banquale.csproj b/src/Banquale/Banquale/Banquale.csproj
index 44d300a..6ef5ed2 100644
--- a/src/Banquale/Banquale/Banquale.csproj
+++ b/src/Banquale/Banquale/Banquale.csproj
@@ -60,6 +60,7 @@
+
@@ -71,6 +72,7 @@
+
diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs
index 2f29d5f..93e6998 100644
--- a/src/Banquale/Banquale/Stub/Stub.cs
+++ b/src/Banquale/Banquale/Stub/Stub.cs
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using Model;
+using Org.Apache.Http.Cookies;
namespace Banquale.Stub
{
@@ -25,26 +26,32 @@ namespace Banquale.Stub
Account Account3 = new Account(3519, "Perotte", "FR7663522541416969585847002");
- Transaction Transaction1 = new Transaction(true, 55, Account1, 1, new DateTime(2023, 6, 21, 15, 29, 20));
- Transaction Transaction12 = new Transaction(true, 105, Account1, 2, new DateTime(2023, 8, 17, 18, 54, 35));
- Transaction Transaction13 = new Transaction(true, 187, Account1, 3, new DateTime(2023, 5, 3, 8, 39, 49));
+ Transaction Transaction1 = new Transaction(true, 55, Account2, 1, new DateTime(2023, 6, 21, 15, 29, 20));
+ Transaction Transaction12 = new Transaction(true, 105, Account2, 2, new DateTime(2023, 8, 17, 18, 54, 35));
+ Transaction Transaction13 = new Transaction(true, 187, Account3, 3, new DateTime(2023, 5, 3, 8, 39, 49));
Transaction Transaction2 = new Transaction(false, 54.99, Account2, 4, new DateTime(2022, 8, 15));
Transaction Transaction3 = new Transaction(true, 1000, Account3, 5, new DateTime(2020, 9, 1, 20, 00, 00));
Debug.WriteLine(Customer1.Name, Customer1.Password);
List CustomersList = new List();
- List TransactionList= new List();
- List AccountsList = new List();
+ List TransactionsList= new List();
+
+ List AccountsList = new List();
+ //Account1.TransactionsList.Add(Transaction1);
+ //Account1.TransactionsList.Add(Transaction12);
+ //Account1.TransactionsList.Add(Transaction13);
+ //Account1.TransactionsList.Add(Transaction2);
+ //Account1.TransactionsList.Add(Transaction3);
+ //Account2.TransactionsList.Add(Transaction2);
- Account1.TransactionsList.Add(Transaction1);
- Account1.TransactionsList.Add(Transaction12);
- Account1.TransactionsList.Add(Transaction13);
- Account1.TransactionsList.Add(Transaction2);
- Account1.TransactionsList.Add(Transaction3);
+ Account1.DoTransactions(Account2, 55, true, 1);
+ Account1.DoTransactions(Account2, 105, true, 2);
+ Account1.DoTransactions(Account3, 187, true, 3);
+ Account1.DoTransactions(Account2, 54.99, false, 4);
+ Account1.DoTransactions(Account3, 1000, false, 5);
- Account2.TransactionsList.Add(Transaction2);
Customer1.AccountsList.Add(Account1);
Customer1.AccountsList.Add(Account2);
diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml
similarity index 52%
rename from src/Banquale/Banquale/Views/BalancePage.xaml
rename to src/Banquale/Banquale/Views/Balance/BalancePage.xaml
index 0ef8203..0ac4134 100644
--- a/src/Banquale/Banquale/Views/BalancePage.xaml
+++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml
@@ -1,11 +1,11 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
new file mode 100644
index 0000000..9cb857f
--- /dev/null
+++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
@@ -0,0 +1,28 @@
+using Model;
+
+namespace Banquale.Views.Balance;
+
+
+public partial class BalancePage : ContentPage
+{
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ public BalancePage()
+ {
+ InitializeComponent();
+ BindingContext = Mgr.SelectedAccount;
+ if(Mgr.IsConsultant == true)
+ {
+ //Label lext = new Label { Text = "Hello" };
+ //Grid.Add(lext);
+ Image backArrow = new Image { Source = "{StaticResource AccountIcon}", HeightRequest = 100 };
+ Grid.Add(backArrow);
+ }
+ }
+
+ public async void Balance_Clicked(object sender, EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new NewPage1());
+ }
+
+}
diff --git a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml
new file mode 100644
index 0000000..3136699
--- /dev/null
+++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
new file mode 100644
index 0000000..3dbeb1b
--- /dev/null
+++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
@@ -0,0 +1,49 @@
+using System.Diagnostics;
+using Model;
+
+namespace Banquale.Views.Balance;
+
+public partial class BalanceView : ContentView
+{
+
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ public BalanceView()
+ {
+ InitializeComponent();
+ BindingContext = Mgr.SelectedAccount;
+ }
+
+ public async void Transaction_Clicked(Object sender, EventArgs e)
+ {
+ var selectedItem = (sender as Grid)?.BindingContext as Transaction;
+
+ if (selectedItem != null)
+ {
+ Mgr.SelectedTransaction = selectedItem;
+ await Navigation.PushModalAsync(new TransactionsPage());
+ }
+
+ //if (string.IsNullOrWhiteSpace(idLabel.Text))
+ //{
+ // //await DisplayAlert("Erreur", "Aucune transaction présente", "OK");
+ // Debug.WriteLine("Erreur1");
+ // return;
+ //}
+
+ //Transaction transaction = Mgr.SelectedAccount.TransactionsList.FirstOrDefault(u => u.Id == TransactionId);
+ //if (transaction == null)
+ //{
+ // Debug.WriteLine("Erreur2");
+ // //await DisplayAlert("Erreur", "La transaction n'éxiste pas !", "OK");
+ // return;
+ //}
+
+ //Mgr.SelectedTransaction = transaction;
+
+ //Mgr.SelectedTransaction = Mgr.CustomersList[0].AccountsList[0].TransactionsList[0];
+
+
+ //await Navigation.PushModalAsync(new TransactionsPage());
+ }
+}
diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/BalancePage.xaml.cs
deleted file mode 100644
index 33a525b..0000000
--- a/src/Banquale/Banquale/Views/BalancePage.xaml.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using Model;
-
-namespace Banquale.Views;
-
-
-public partial class BalancePage : ContentPage
-{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public BalancePage()
- {
- InitializeComponent();
- BindingContext = Mgr.SelectedAccount;
- //BindingContext = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004");
- }
-
-
- public async void Transactions_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)
- {
- Mgr.SelectedTransaction = Mgr.SelectedAccount.TransactionsList[0];
- //Mgr.SelectedTransaction = Mgr.PropertyChanged;
- await Shell.Current.Navigation.PushAsync(new TransactionsPage());
- }
-
- public async void Balance_Clicked(object sender, EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new NewPage1());
- }
-
- public async void Transaction_Clicked(Object sender, EventArgs e)
- {
- uint TransactionId = Convert.ToUInt32(idLabel.Text);
-
- if (string.IsNullOrWhiteSpace(idLabel.Text))
- {
- await DisplayAlert("Erreur", "Aucune transaction présente", "OK");
- return;
- }
-
- Transaction transaction = Mgr.SelectedAccount.TransactionsList.FirstOrDefault(u => u.Id == TransactionId);
- if (transaction == null)
- {
- await DisplayAlert("Erreur", "La transaction n'éxiste pas !", "OK");
- return;
- }
-
- Mgr.SelectedTransaction = transaction;
-
-
- await Navigation.PushModalAsync(new TransactionsPage());
- }
-
-}
diff --git a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml
index 85100c6..1fe6a82 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml
+++ b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml
@@ -6,16 +6,7 @@
Title="CategoryPage">
-
-
-
-
-
-
-
-
-
+ VerticalOptions="Center">
diff --git a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
index 6cb87d0..36768c5 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
@@ -1,8 +1,12 @@
+using Model;
+
namespace Banquale.Views.Category;
public partial class CategoryPage : ContentPage
{
- public CategoryPage()
+
+ public Manager Mgr => (App.Current as App).MyManager;
+ public CategoryPage()
{
InitializeComponent();
}
diff --git a/src/Banquale/Banquale/Views/Category/CategoryView.xaml b/src/Banquale/Banquale/Views/Category/CategoryView.xaml
index 21166d5..3f260f9 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml
+++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml
@@ -5,17 +5,44 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
index e7559fc..51fd189 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
+++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
@@ -1,9 +1,25 @@
+using Model;
+
namespace Banquale.Views.Category;
public partial class CategoryView : ContentView
{
- public CategoryView()
+
+ public Manager Mgr => (App.Current as App).MyManager;
+ public CategoryView()
{
InitializeComponent();
+ BindingContext = Mgr;
}
+
+ public async void Category_Clicked(object sender, EventArgs e)
+ {
+ var selectedItem = (sender as Grid)?.BindingContext as string;
+ if (selectedItem != null)
+ {
+ Mgr.SelectedTransaction.ChangeCategory(selectedItem);
+ await Shell.Current.Navigation.PopAsync();
+ }
+
+ }
}
\ No newline at end of file
diff --git a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs
index 245e627..2d2f00d 100644
--- a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs
@@ -22,7 +22,7 @@ public partial class ConnectionPage : ContentPage
return;
}
- if(currentId == 0)
+ if(currentId == 0 && password == "consultant")
{
Mgr.IsConsultant = true;
await Navigation.PushModalAsync(new ConsultantHomePage());
diff --git a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
index 8d54a38..040f54e 100644
--- a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
@@ -1,24 +1,60 @@
+using System.Diagnostics;
using Banquale.Views;
+using Model;
+
namespace Banquale.Views;
public partial class ConsultantIdPage : ContentPage
{
- public ConsultantIdPage()
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ public ConsultantIdPage()
{
InitializeComponent();
}
+ //public async void Connection_Clicked(Object sender, EventArgs e)
+ //{
+ // string id = ident.Text;
+
+ // if (string.IsNullOrWhiteSpace(id))
+ // {
+ // await DisplayAlert("Erreur", "l'id ne doit pas être nulle", "OK");
+ // return;
+ // }
+
+ // await Navigation.PushModalAsync(new Balance.BalancePage());
+ //}
+
public async void Connection_Clicked(Object sender, EventArgs e)
{
- string id = ident.Text;
+ uint currentId = Convert.ToUInt32(ident.Text);
+
+ if (string.IsNullOrWhiteSpace(ident.Text))
+ {
+ await DisplayAlert("Erreur", "Il faut rentrer un ID", "OK");
+ return;
+ }
+
+ if (currentId == 0)
+ {
+ await DisplayAlert("Erreur", "Ce compte est innaccessible", "OK");
+ return;
+ }
- if (string.IsNullOrWhiteSpace(id))
+ Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId);
+ if (customer == null)
{
- await DisplayAlert("Erreur", "l'id ne doit pas être nulle", "OK");
+ await DisplayAlert("Erreur", "L'id entré est incorrect ou n'existe pas.", "OK");
return;
}
- await Navigation.PushModalAsync(new BalancePage());
+ Mgr.SelectedCustomer = customer;
+
+ Debug.WriteLine(Mgr.IsConsultant);
+
+
+ await Navigation.PushModalAsync(new SwitchAccountPage());
}
}
\ No newline at end of file
diff --git a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
index 352b83e..f92cbfd 100644
--- a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
+++ b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
@@ -4,21 +4,115 @@
x:Class="Banquale.Views.CreateCustomerPage"
Title="CreateCustomerPage">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
-
+
diff --git a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
index 321c74d..dbad020 100644
--- a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
@@ -1,9 +1,93 @@
-namespace Banquale.Views;
+using System.Diagnostics;
+using Model;
+namespace Banquale.Views;
public partial class CreateCustomerPage : ContentPage
{
- public CreateCustomerPage()
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ int nbAccount = 1;
+
+ public CreateCustomerPage()
{
InitializeComponent();
}
+
+ public void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
+ {
+ string name = NameEntry.Text;
+ string firstName = FirstNameEntry.Text;
+ string password = PasswordEntry.Text;
+ string accountName = AccountNameEntry.Text;
+ double accountBalance = Convert.ToDouble(AccountBalanceEntry.Text);
+ string accountIban = AccountIbanEntry.Text;
+
+ if(string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(firstName) || string.IsNullOrWhiteSpace(password)
+ || double.IsNegative(accountBalance) || string.IsNullOrWhiteSpace(accountName)
+ || string.IsNullOrWhiteSpace(accountIban) || string.IsNullOrWhiteSpace(AccountBalanceEntry.Text))
+ {
+ DisplayAlert("Erreur", "Tous les champs doivent être renseignés et corect (pas de solde négatif)", "OK");
+ }
+ else
+ {
+ Customer customer = new Customer(name, firstName, password);
+ Account account = new Account(accountBalance, accountName, accountIban);
+ customer.AccountsList.Add(account);
+ Mgr.CustomersList.Add(customer);
+ Debug.WriteLine(customer.Id);
+ Debug.WriteLine(customer.Password);
+ Debug.WriteLine(account.IBAN);
+ DisplayAlert("Création", "Client " + customer.Name +" crée avec succès.", "OK");
+ Shell.Current.Navigation.PopAsync();
+ }
+ }
+
+ public void Account_Clicked(object sender, EventArgs e)
+ {
+ nbAccount++;
+ if(nbAccount >= 4)
+ {
+ DisplayAlert("Erreur", "Impossible d'ajouter plus de compte. Un client ne peut avoir plus de 3 comptes.", "OK");
+ return;
+ }
+ Label account = new Label { Text = "Compte " + Convert.ToString(nbAccount)};
+ account.FontSize = 20;
+ Grid gridAccount = new Grid();
+ ColumnDefinition col1 = new ColumnDefinition(GridLength.Star);
+ ColumnDefinition col2 = new ColumnDefinition(GridLength.Star);
+ RowDefinition row1 = new RowDefinition(GridLength.Auto);
+ RowDefinition row2 = new RowDefinition(GridLength.Auto);
+ gridAccount.RowDefinitions.Add(row1);
+ gridAccount.RowDefinitions.Add(row2);
+ gridAccount.ColumnDefinitions.Add(col1);
+ gridAccount.ColumnDefinitions.Add(col2);
+ Label balance = new Label { Text = "Solde" };
+ balance.FontSize = 12;
+ Entry balanceEntry = new Entry { Placeholder = "Entrez le solde du compte" };
+ Label nameLabel = new Label { Text = "Nom du compte" };
+ Entry nameEntry = new Entry { Placeholder = "Entrez le nom du compte" };
+ Label iban = new Label { Text = "IBAN" };
+ Entry ibanEntry = new Entry { Placeholder = "Entrez l'IBAN du compte" };
+ StackLayout.Add(account);
+ gridAccount.SetColumn(balance, 0);
+ gridAccount.SetRow(balance, 0);
+ gridAccount.SetColumn(balanceEntry, 0);
+ gridAccount.SetRow(balanceEntry, 1);
+ gridAccount.SetColumn(nameLabel, 1);
+ gridAccount.SetRow(nameLabel, 0);
+ gridAccount.SetColumn(nameEntry, 1);
+ gridAccount.SetColumn(nameEntry, 1);
+ gridAccount.Children.Add(balance);
+ gridAccount.Children.Add(balanceEntry);
+ gridAccount.Children.Add(nameLabel);
+ gridAccount.Children.Add(nameEntry);
+ StackLayout.Add(gridAccount);
+ //StackLayout.Add(balance);
+ // StackLayout.Add(balanceEntry);
+ //StackLayout.Add(nameLabel);
+ //StackLayout.Add(nameEntry);
+ StackLayout.Add(iban);
+ StackLayout.Add(ibanEntry);
+ }
+
}
diff --git a/src/Banquale/Banquale/Views/MessageListPage.xaml b/src/Banquale/Banquale/Views/MessageListPage.xaml
index e8614c1..a3b2c09 100644
--- a/src/Banquale/Banquale/Views/MessageListPage.xaml
+++ b/src/Banquale/Banquale/Views/MessageListPage.xaml
@@ -3,20 +3,19 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Banquale.Views.MessageListPage"
Title="MessageListPage"
- Shell.NavBarIsVisible="False">
+ Shell.NavBarIsVisible="True">
-
+
-
-
+
diff --git a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
index 3bfe313..546ef41 100644
--- a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
@@ -12,6 +12,6 @@ public partial class MessageListPage : ContentPage
{
Debug.WriteLine(Mgr.Consultant.MessagesList[0].Subject);
InitializeComponent();
- BindingContext = Mgr.Consultant;
+ BindingContext = Mgr;
}
}
diff --git a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
index 589824b..4b719b3 100644
--- a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
@@ -1,3 +1,4 @@
+using System.Diagnostics;
using Model;
namespace Banquale.Views;
@@ -14,13 +15,34 @@ public partial class SwitchAccountPage : ContentPage
public async void Transfer_Clicked(object sender, EventArgs e)
{
- Mgr.SelectedAccount = Mgr.SelectedCustomer.AccountsList[0]; // 0 � changer
+ var selectedItem = (sender as Button)?.BindingContext as Account;
- await Shell.Current.GoToAsync("//balance");
+ 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(System.Object sender, System.EventArgs e)
+
+ async void DisconnectionClicked(object sender, EventArgs e)
{
- await Shell.Current.GoToAsync("///connection");
+ if(Mgr.IsConsultant == true)
+ {
+ //await Shell.Current.GoToAsync(;
+ Debug.WriteLine("Hello");
+ }
+ else
+ {
+ await Shell.Current.GoToAsync("///connection");
+ }
}
}
\ No newline at end of file
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 400ccde..3ab60ef 100644
--- a/src/Banquale/Model/Account.cs
+++ b/src/Banquale/Model/Account.cs
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
@@ -108,7 +109,17 @@ namespace Model
/// Obtient ou définit la liste des transactions effectuées sur le compte.
///
[DataMember(Order = 5)]
- public List TransactionsList { get; set; } = new List();
+ 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.
@@ -117,7 +128,7 @@ namespace Model
/// Somme de la transaction.
/// Type de transaction (débit ou crédit).
/// Numéro de la transaction.
- public void DoTransactions(Account involvedAccount, Double sum, bool type, int nb)
+ public void DoTransactions(Account involvedAccount, double sum, bool type, int nb)
{
if (type) // si le type est True => c'est un débit, on doit donc ajouter la transaction pour l'autre compte
{
@@ -145,6 +156,7 @@ namespace Model
Name = name;
IBAN = iban;
IBANHide = IBANToString();
+ TransactionsList = new ObservableCollection();
}
///
diff --git a/src/Banquale/Model/Manager.cs b/src/Banquale/Model/Manager.cs
index 61d5862..6061395 100644
--- a/src/Banquale/Model/Manager.cs
+++ b/src/Banquale/Model/Manager.cs
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
@@ -27,6 +28,8 @@ namespace Model
[DataMember]
public List CustomersList { get; private set; } // devient un set
+ public ObservableCollection CategoryList { get; private set; } = new ObservableCollection {"Automobile", "Santé", "Abonnement", "Logement", "Impôts et taxes", "Courses", "Loisirs et sorties", "Enfant(s)"};
+
///
/// Consultant assigné au gestionnaire.
///
diff --git a/src/Banquale/Model/Message.cs b/src/Banquale/Model/Message.cs
index 44133dd..205a296 100644
--- a/src/Banquale/Model/Message.cs
+++ b/src/Banquale/Model/Message.cs
@@ -3,6 +3,8 @@
/// \author Votre nom
using System;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
namespace Model
@@ -11,20 +13,49 @@ namespace Model
/// Classe représentant un message.
///
[DataContract]
- public class Message
+ public class Message : INotifyPropertyChanged
{
+
+ public event PropertyChangedEventHandler? PropertyChanged;
+
+ void OnPropertyChanged([CallerMemberName] string? propertyName = null)
+ => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+
///
/// Sujet du message.
///
[DataMember]
- public string Subject { get; private set; }
+ public string Subject
+ {
+ get => subject;
+ set
+ {
+ if (subject == value) return;
+ subject = value;
+ OnPropertyChanged();
+ }
+ }
+
+ private string subject;
+
+
///
/// Description du message.
///
[DataMember]
- public string Description { get; private set; }
+ public string Description
+ {
+ get => description;
+ set
+ {
+ if (description == value) return;
+ description = value;
+ OnPropertyChanged();
+ }
+ }
+ private string description;
///
/// Constructeur de la classe Message.
///
diff --git a/src/Banquale/Model/Transaction.cs b/src/Banquale/Model/Transaction.cs
index c68e10a..27d1ff6 100644
--- a/src/Banquale/Model/Transaction.cs
+++ b/src/Banquale/Model/Transaction.cs
@@ -12,7 +12,7 @@ namespace Model
///
/// Occurs when a property value changes.
///
- public event PropertyChangedEventHandler PropertyChanged;
+ public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged(string propertyName)
{
@@ -65,7 +65,7 @@ namespace Model
/// Gets or sets the account(s) involved in the transaction.
///
[DataMember(Order = 4)]
- public Account InvolvedAccounts
+ public Account? InvolvedAccounts
{
get => involvedAccounts;
set
@@ -77,13 +77,13 @@ namespace Model
}
}
[DataMember]
- private Account involvedAccounts;
+ private Account? involvedAccounts;
///
/// Gets or sets the category of the transaction.
///
[DataMember(Order = 5)]
- public string Category
+ public string? Category
{
get => category;
set
@@ -125,6 +125,7 @@ namespace Model
/// The date of the transaction.
public Transaction(bool type, double sum, Account involvedAccounts, int id, DateTime date)
{
+ Category = null;
Type = type;
Sum = sum;
Id = id;
diff --git a/src/Banquale/UnitTest/UnitTest1.cs b/src/Banquale/UnitTest/UnitTest1.cs
deleted file mode 100644
index 4516a1e..0000000
--- a/src/Banquale/UnitTest/UnitTest1.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System.Diagnostics;
-using Model;
-namespace UnitTest;
-
-public class UnitTest1
-{
- [Fact]
- public void Test1()
- {
- Account Remi = new Account(900, "Remi", "FR00299209");
- Debug.WriteLine(Remi.Balance);
-
- }
-}