From 1fb889be6b97379b6828cb91ef7548b039714a38 Mon Sep 17 00:00:00 2001 From: anperederi Date: Mon, 5 Jun 2023 11:40:58 +0200 Subject: [PATCH 1/6] add connection password check --- src/Banquale/Banquale/Model/Person.cs | 12 +++------ .../Banquale/Views/ConnectionPage.xaml.cs | 27 +++++++------------ 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/Banquale/Banquale/Model/Person.cs b/src/Banquale/Banquale/Model/Person.cs index a33329b..f0230b5 100644 --- a/src/Banquale/Banquale/Model/Person.cs +++ b/src/Banquale/Banquale/Model/Person.cs @@ -17,25 +17,19 @@ namespace Banquale.Model public string FirstName { get; private set; } [DataMember] public uint Id { get; private set; } + + public static uint id { get; set; } = 1; [DataMember] public string Password { get; private set; } public Person(string name, string firstName, string password) - { - Name = name; - FirstName = firstName; - Id = 1; - Password = password; - } - - public Person(string name, string firstName, uint id, string password) { Name = name; FirstName = firstName; Id = id; Password = password; + id++; } - } } diff --git a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs index 2d8a6dd..f7e9e6d 100644 --- a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs +++ b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs @@ -13,16 +13,16 @@ public partial class ConnectionPage : ContentPage public async void Connection_Clicked(Object sender, EventArgs e) { - string currentId = ident.Text; + uint currentId = Convert.ToUInt32(ident.Text); string password = pass.Text; - if (string.IsNullOrWhiteSpace(currentId) || string.IsNullOrWhiteSpace(password)) + if (string.IsNullOrWhiteSpace(ident.Text) || string.IsNullOrWhiteSpace(password)) { await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK"); return; } - if(currentId == "1") + if(currentId == 0) { Mgr.IsConsultant = true; await Navigation.PushModalAsync(new ConsultantHomePage()); @@ -33,21 +33,14 @@ public partial class ConnectionPage : ContentPage Mgr.IsConsultant = false; } - - /*foreach(var Cu in Mgr.CustomersList) + Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId && u.Password == password); + if (customer == null) { - if (Cu.Id == currentId) - { - Mgr.SelectedCustomer = Mgr.CustomersList[currentId+1]; - } - }*/ - - //if(int.Parse(currentId) in Mgr.CustomersList) // FONCTIONNE PAS - //{ - // Mgr.SelectedCustomer = Mgr.CustomersList[int.Parse(currentId)]; - //} - - Mgr.SelectedCustomer = Mgr.CustomersList[0];// 0 à changer + await DisplayAlert("Erreur", "Le mot de passe ou l'id entré est incorrect.", "OK"); + return; + } + + Mgr.SelectedCustomer = customer; await Navigation.PushModalAsync(new SwitchAccountPage()); -- 2.36.3 From aeac0d807e63477c741e94b780d312bb3c77c081 Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Mon, 5 Jun 2023 11:41:24 +0200 Subject: [PATCH 2/6] Added transaction mechanic --- src/Banquale/Banquale/Model/Account.cs | 43 +++++++++++-------- src/Banquale/Banquale/Model/Transactions.cs | 8 ++-- src/Banquale/Banquale/Stub/Stub.cs | 12 +++--- src/Banquale/Banquale/Views/BalancePage.xaml | 4 ++ .../Banquale/Views/Transfer/TransferPage.xaml | 2 +- .../Views/Transfer/TransferPage.xaml.cs | 23 +++++++++- 6 files changed, 61 insertions(+), 31 deletions(-) diff --git a/src/Banquale/Banquale/Model/Account.cs b/src/Banquale/Banquale/Model/Account.cs index fbc17d9..4a1c3c2 100644 --- a/src/Banquale/Banquale/Model/Account.cs +++ b/src/Banquale/Banquale/Model/Account.cs @@ -20,7 +20,7 @@ namespace Banquale.Model } [DataMember] - public double Balance + public Double Balance { get => balance; set @@ -32,7 +32,7 @@ namespace Banquale.Model } } [DataMember] - private double balance; + private Double balance; [DataMember] @@ -84,14 +84,23 @@ namespace Banquale.Model [DataMember] public List TransactionsList { get; set; } = new List(); - //public bool DoTransactions(string name, string IBAN, float sum) - //{ - // List transactions.add(sum); - // if() - // return true; - //} + public void DoTransactions(Account involvedAccount, Double sum, bool type) + { + if (type) // si le type est True => c'est un débit, on doit donc ajouter la transaction pour l'autre compte + { + TransactionsList.Add(new Transactions(type, sum, involvedAccount, DateTime.Now)); + Balance = Balance-sum; + involvedAccount.DoTransactions(this, sum, !type); + } + else // Sinon, c'est un crédit, on a juste à l'ajouter ànotre liste de transactions + { + TransactionsList.Add(new Transactions(type, sum, involvedAccount, DateTime.Now)); + Balance = Balance+sum; + } + + } - public Account(int balance, string name, string iban) + public Account(Double balance, string name, string iban) { Balance = balance; Name = name; @@ -99,15 +108,13 @@ namespace Banquale.Model IBANHide = IBANToString(); } - internal static void DoTransactions(Entry name, Entry iban, Entry sum) - { - Debug.WriteLine(name.Text); - Debug.WriteLine(iban.Text); - Debug.WriteLine(sum.Text); - Debug.WriteLine("Transaction successed !"); - - - } + //internal static void DoTransactions(Entry name, Entry iban, Entry sum) + //{ + // Debug.WriteLine(name.Text); + // Debug.WriteLine(iban.Text); + // Debug.WriteLine(sum.Text); + // Debug.WriteLine("Transaction successed !"); + //} //public bool DoRequest(string name, string IBAN, float sum) //{ diff --git a/src/Banquale/Banquale/Model/Transactions.cs b/src/Banquale/Banquale/Model/Transactions.cs index bd8c660..19771e7 100644 --- a/src/Banquale/Banquale/Model/Transactions.cs +++ b/src/Banquale/Banquale/Model/Transactions.cs @@ -13,7 +13,7 @@ namespace Banquale.Model } [DataMember] - public int Type + public bool Type { get => type; set @@ -26,7 +26,7 @@ namespace Banquale.Model } [DataMember] - private int type; + private bool type; [DataMember] public Double Sum @@ -88,12 +88,12 @@ namespace Banquale.Model [DataMember] private DateTime date; - public Transactions(int type, Double sum, Account involvedAccounts, string category, DateTime date) + public Transactions(bool type, Double sum, Account involvedAccounts/*, string category*/, DateTime date) { Type = type; Sum = sum; InvolvedAccounts = involvedAccounts; - Category = category; + //Category = category; Date = date; } diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index 18c6559..9787769 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -21,15 +21,15 @@ namespace Banquale.Stub Customer Customer3 = new Customer("Michel", "Boudout", "MonMdP"); Account Account1 = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004"); - Account Account2 = new Account(9510, "Despoints", "FR76 4785 8569 6914 4152 5263 003"); + Account Account2 = new Account(9510, "Despoints", "FR7647858569691441525263003"); Account Account3 = new Account(3519, "Perotte", "FR76 6352 2541 4169 6958 5847 002"); - Transactions Transactions1 = new Transactions(0, 55, Account1, "Test", new DateTime(2023, 6, 21, 15, 29, 20)); - Transactions Transactions12 = new Transactions(0, 105, Account1, "Test", new DateTime(2023, 8, 17, 18, 54, 35)); - Transactions Transactions13 = new Transactions(0, 187, Account1, "Test", new DateTime(2023, 5, 3, 8, 39, 49)); - Transactions Transactions2 = new Transactions(1, 54.99, Account2, "Test", new DateTime(2022, 8, 15)); - Transactions Transactions3 = new Transactions(0, 1000, Account3, "Test", new DateTime(2020, 9, 1, 20, 00, 00)); + Transactions Transactions1 = new Transactions(true, 55, Account1, new DateTime(2023, 6, 21, 15, 29, 20)); + Transactions Transactions12 = new Transactions(true, 105, Account1, new DateTime(2023, 8, 17, 18, 54, 35)); + Transactions Transactions13 = new Transactions(true, 187, Account1, new DateTime(2023, 5, 3, 8, 39, 49)); + Transactions Transactions2 = new Transactions(false, 54.99, Account2, new DateTime(2022, 8, 15)); + Transactions Transactions3 = new Transactions(true, 1000, Account3, new DateTime(2020, 9, 1, 20, 00, 00)); Debug.WriteLine(Customer1.Name, Customer1.Password); List CustomersList = new List(); diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/BalancePage.xaml index 2493cda..4d25521 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml +++ b/src/Banquale/Banquale/Views/BalancePage.xaml @@ -6,6 +6,10 @@ x:Class="Banquale.Views.BalancePage" Title="BalancePage" Shell.NavBarIsVisible="False"> + + diff --git a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml index 5a9bd41..834d66c 100644 --- a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml +++ b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml @@ -26,7 +26,7 @@ Padding="3"> Date: Mon, 5 Jun 2023 13:58:31 +0200 Subject: [PATCH 3/6] Add model project --- src/Banquale/Banquale.sln | 12 ++++++++ src/Banquale/Banquale/App.xaml.cs | 2 +- src/Banquale/Banquale/Banquale.csproj | 3 ++ .../DataContractPers.cs | 2 +- .../DataContractPersistance/DataToPersist.cs | 2 +- src/Banquale/Banquale/Stub/Stub.cs | 2 +- src/Banquale/Banquale/Test/AccountTest.cs | 2 +- .../Banquale/Views/BalancePage.xaml.cs | 2 +- .../Banquale/Views/ConnectionPage.xaml.cs | 2 +- src/Banquale/Banquale/Views/HelpPage.xaml.cs | 4 +-- .../Banquale/Views/MessageListPage.xaml.cs | 2 +- src/Banquale/Banquale/Views/NewPage1.xaml | 5 ---- src/Banquale/Banquale/Views/NewPage1.xaml.cs | 2 +- .../Banquale/Views/SwitchAccountPage.xaml | 6 ++-- .../Banquale/Views/SwitchAccountPage.xaml.cs | 4 +-- .../Banquale/Views/TransactionsPage.xaml.cs | 2 +- .../Views/Transfer/RequestPage.xaml.cs | 4 +-- .../Banquale/Views/Transfer/RibPage.xaml.cs | 2 +- .../Views/Transfer/TransferPage.xaml.cs | 4 +-- src/Banquale/{Banquale => }/Model/Account.cs | 22 +++++++-------- src/Banquale/{Banquale => }/Model/Category.cs | 2 +- .../{Banquale => }/Model/Consultant.cs | 2 +- src/Banquale/{Banquale => }/Model/Customer.cs | 4 +-- .../Model/IPersistenceManager.cs | 4 +-- src/Banquale/{Banquale => }/Model/Manager.cs | 2 +- src/Banquale/{Banquale => }/Model/Message.cs | 2 +- src/Banquale/Model/Model.csproj | 15 ++++++++++ src/Banquale/{Banquale => }/Model/Person.cs | 4 +-- .../{Banquale => }/Model/Transactions.cs | 2 +- src/Banquale/UnitTest/UnitTest.csproj | 28 +++++++++++++++++++ src/Banquale/UnitTest/UnitTest1.cs | 14 ++++++++++ src/Banquale/UnitTest/Usings.cs | 1 + 32 files changed, 118 insertions(+), 48 deletions(-) rename src/Banquale/{Banquale => }/Model/Account.cs (86%) rename src/Banquale/{Banquale => }/Model/Category.cs (76%) rename src/Banquale/{Banquale => }/Model/Consultant.cs (93%) rename src/Banquale/{Banquale => }/Model/Customer.cs (92%) rename src/Banquale/{Banquale => }/Model/IPersistenceManager.cs (86%) rename src/Banquale/{Banquale => }/Model/Manager.cs (98%) rename src/Banquale/{Banquale => }/Model/Message.cs (94%) create mode 100644 src/Banquale/Model/Model.csproj rename src/Banquale/{Banquale => }/Model/Person.cs (95%) rename src/Banquale/{Banquale => }/Model/Transactions.cs (98%) create mode 100644 src/Banquale/UnitTest/UnitTest.csproj create mode 100644 src/Banquale/UnitTest/UnitTest1.cs create mode 100644 src/Banquale/UnitTest/Usings.cs diff --git a/src/Banquale/Banquale.sln b/src/Banquale/Banquale.sln index 24e7bb1..1404094 100644 --- a/src/Banquale/Banquale.sln +++ b/src/Banquale/Banquale.sln @@ -5,6 +5,10 @@ VisualStudioVersion = 17.0.31611.283 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Banquale", "Banquale\Banquale.csproj", "{CB24D887-5DF3-4ED9-BAFF-DEA8F43253EE}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{5AF1A8C4-E970-43F7-B81A-83D706C3B1AE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTest", "UnitTest\UnitTest.csproj", "{F7D852DC-AC55-4164-A78C-EB4311F9D516}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -17,6 +21,14 @@ Global {CB24D887-5DF3-4ED9-BAFF-DEA8F43253EE}.Release|Any CPU.ActiveCfg = Release|Any CPU {CB24D887-5DF3-4ED9-BAFF-DEA8F43253EE}.Release|Any CPU.Build.0 = Release|Any CPU {CB24D887-5DF3-4ED9-BAFF-DEA8F43253EE}.Release|Any CPU.Deploy.0 = Release|Any CPU + {5AF1A8C4-E970-43F7-B81A-83D706C3B1AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5AF1A8C4-E970-43F7-B81A-83D706C3B1AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5AF1A8C4-E970-43F7-B81A-83D706C3B1AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5AF1A8C4-E970-43F7-B81A-83D706C3B1AE}.Release|Any CPU.Build.0 = Release|Any CPU + {F7D852DC-AC55-4164-A78C-EB4311F9D516}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F7D852DC-AC55-4164-A78C-EB4311F9D516}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F7D852DC-AC55-4164-A78C-EB4311F9D516}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F7D852DC-AC55-4164-A78C-EB4311F9D516}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Banquale/Banquale/App.xaml.cs b/src/Banquale/Banquale/App.xaml.cs index 3c4fac4..011c988 100644 --- a/src/Banquale/Banquale/App.xaml.cs +++ b/src/Banquale/Banquale/App.xaml.cs @@ -1,4 +1,4 @@ -using Banquale.Model; +using Model; using Banquale.Stub; using Banquale.DataContractPersistance; diff --git a/src/Banquale/Banquale/Banquale.csproj b/src/Banquale/Banquale/Banquale.csproj index fc9e2af..3ae3d32 100644 --- a/src/Banquale/Banquale/Banquale.csproj +++ b/src/Banquale/Banquale/Banquale.csproj @@ -79,4 +79,7 @@ + + + diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPers.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPers.cs index c31bba9..70485c2 100644 --- a/src/Banquale/Banquale/DataContractPersistance/DataContractPers.cs +++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPers.cs @@ -1,4 +1,4 @@ -using Banquale.Model; +using Model; using System; using System.Collections.Generic; using System.Diagnostics; diff --git a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs index 190f138..22c9843 100644 --- a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs +++ b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs @@ -1,5 +1,5 @@ using System; -using Banquale.Model; +using Model; namespace Banquale.DataContractPersistance { diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index 18c6559..0e5dff7 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -1,6 +1,6 @@ using System; using System.Diagnostics; -using Banquale.Model; +using Model; namespace Banquale.Stub { diff --git a/src/Banquale/Banquale/Test/AccountTest.cs b/src/Banquale/Banquale/Test/AccountTest.cs index 84036b5..4b1afa4 100644 --- a/src/Banquale/Banquale/Test/AccountTest.cs +++ b/src/Banquale/Banquale/Test/AccountTest.cs @@ -1,5 +1,5 @@ using System; -using Banquale.Model; +using Model; namespace Banquale.Test { diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/BalancePage.xaml.cs index f9f3d38..e543a40 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml.cs +++ b/src/Banquale/Banquale/Views/BalancePage.xaml.cs @@ -1,4 +1,4 @@ -using Banquale.Model; +using Model; namespace Banquale.Views; diff --git a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs index 2d8a6dd..62e1af3 100644 --- a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs +++ b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs @@ -1,4 +1,4 @@ -using Banquale.Model; +using Model; namespace Banquale.Views; diff --git a/src/Banquale/Banquale/Views/HelpPage.xaml.cs b/src/Banquale/Banquale/Views/HelpPage.xaml.cs index d05f911..5959338 100644 --- a/src/Banquale/Banquale/Views/HelpPage.xaml.cs +++ b/src/Banquale/Banquale/Views/HelpPage.xaml.cs @@ -1,4 +1,4 @@ -using Banquale.Model; +using Model; namespace Banquale.Views; public partial class HelpPage : ContentPage @@ -11,7 +11,7 @@ public partial class HelpPage : ContentPage public async void Send_Clicked(Object sender, EventArgs e) { - Message message = Account.AskForHelp(Subject, Message); + Message message = Account.AskForHelp(Subject.Text, Message.Text); Mgr.Consultant.MessagesList.Add(message); await Shell.Current.GoToAsync("//balance"); } diff --git a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs index a255608..3bfe313 100644 --- a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs +++ b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs @@ -1,6 +1,6 @@ using System.Diagnostics; using System.Runtime.Serialization.DataContracts; -using Banquale.Model; +using Model; namespace Banquale.Views; diff --git a/src/Banquale/Banquale/Views/NewPage1.xaml b/src/Banquale/Banquale/Views/NewPage1.xaml index 58a96d1..c1c446e 100644 --- a/src/Banquale/Banquale/Views/NewPage1.xaml +++ b/src/Banquale/Banquale/Views/NewPage1.xaml @@ -1,13 +1,8 @@  - - - -