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"> - + + +