From 4ec4d077e4422e194aa8a7468c83419e0a706207 Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Wed, 7 Jun 2023 15:55:57 +0200 Subject: [PATCH 1/2] Try to fix affiche bug with message list --- src/Banquale/Banquale/Stub/Stub.cs | 24 ++++++------ .../Banquale/Views/ConnectionPage.xaml.cs | 2 +- .../Banquale/Views/MessageListPage.xaml | 33 ++++++++--------- .../Banquale/Views/MessageListPage.xaml.cs | 2 +- .../Views/Transfer/RequestPage.xaml.cs | 2 +- src/Banquale/Model/Message.cs | 37 +++++++++++++++++-- src/Banquale/Model/Transaction.cs | 2 +- 7 files changed, 66 insertions(+), 36 deletions(-) diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index 3749c51..b3cdec2 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -25,26 +25,26 @@ namespace Banquale.Stub Account Account3 = new Account(3519, "Perotte", "FR7663522541416969585847002"); - Transactions Transactions1 = new Transactions(true, 55, Account1, 1, new DateTime(2023, 6, 21, 15, 29, 20)); - Transactions Transactions12 = new Transactions(true, 105, Account1, 2, new DateTime(2023, 8, 17, 18, 54, 35)); - Transactions Transactions13 = new Transactions(true, 187, Account1, 3, new DateTime(2023, 5, 3, 8, 39, 49)); - Transactions Transactions2 = new Transactions(false, 54.99, Account2, 4, new DateTime(2022, 8, 15)); - Transactions Transactions3 = new Transactions(true, 1000, Account3, 5, new DateTime(2020, 9, 1, 20, 00, 00)); + 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 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 TransactionsList= new List(); + List TransactionsList= new List(); List AccountsList = new List(); - Account1.TransactionsList.Add(Transactions1); - Account1.TransactionsList.Add(Transactions12); - Account1.TransactionsList.Add(Transactions13); - Account1.TransactionsList.Add(Transactions2); - Account1.TransactionsList.Add(Transactions3); + Account1.TransactionsList.Add(Transaction1); + Account1.TransactionsList.Add(Transaction12); + Account1.TransactionsList.Add(Transaction13); + Account1.TransactionsList.Add(Transaction2); + Account1.TransactionsList.Add(Transaction3); - Account2.TransactionsList.Add(Transactions2); + Account2.TransactionsList.Add(Transaction2); Customer1.AccountsList.Add(Account1); Customer1.AccountsList.Add(Account2); 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/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/Transfer/RequestPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs index 3ef3402..c41832d 100644 --- a/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs +++ b/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs @@ -14,7 +14,7 @@ public partial class RequestPage : ContentPage public async void Send_Clicked(Object sender, EventArgs e) { - Account.DoRequest(Name.Text, IBAN.Text, Sum.Text); + //Account.DoRequest(Name.Text, IBAN.Text, Sum.Text); await Shell.Current.GoToAsync("//balance"); } } 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..420fc4c 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) { From 0c09a0a97d6d075f55eeabf96b18ff218e0a5691 Mon Sep 17 00:00:00 2001 From: "titouan.louvet" Date: Wed, 7 Jun 2023 16:54:08 +0200 Subject: [PATCH 2/2] Add category list and view --- src/Banquale/Banquale/App.xaml.cs | 10 ++++--- src/Banquale/Banquale/Stub/Stub.cs | 26 ++++++++++++------- .../Banquale/Views/Balance/BalanceView.xaml | 4 +-- .../Views/Balance/BalanceView.xaml.cs | 2 ++ .../Banquale/Views/Category/CategoryPage.xaml | 11 +------- .../Views/Category/CategoryPage.xaml.cs | 6 ++++- .../Banquale/Views/Category/CategoryView.xaml | 21 ++++----------- .../Views/Category/CategoryView.xaml.cs | 7 ++++- src/Banquale/Model/Account.cs | 2 +- src/Banquale/Model/Manager.cs | 3 ++- src/Banquale/Model/Transaction.cs | 7 ++--- 11 files changed, 52 insertions(+), 47 deletions(-) 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/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index d0d5fab..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,9 +26,9 @@ 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)); @@ -37,13 +38,20 @@ namespace Banquale.Stub 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); + //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.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/Balance/BalanceView.xaml b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml index 913bbe3..3136699 100644 --- a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml +++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml @@ -20,9 +20,9 @@ HorizontalOptions="Fill"> - + NumberOfTapsRequired="1" /> diff --git a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs index c24ef72..a1161ed 100644 --- a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs +++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs @@ -35,6 +35,8 @@ public partial class BalanceView : ContentView //Mgr.SelectedTransaction = transaction; + Mgr.SelectedTransaction = Mgr.CustomersList[0].AccountsList[0].TransactionsList[0]; + 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 937491d..c75da87 100644 --- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml +++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml @@ -5,7 +5,7 @@ - @@ -16,7 +16,7 @@ @@ -28,22 +28,11 @@ diff --git a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs index e7559fc..c1d9d6c 100644 --- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs +++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs @@ -1,9 +1,14 @@ +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; } } \ No newline at end of file diff --git a/src/Banquale/Model/Account.cs b/src/Banquale/Model/Account.cs index 3649cd0..a0cdaae 100644 --- a/src/Banquale/Model/Account.cs +++ b/src/Banquale/Model/Account.cs @@ -118,7 +118,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 { diff --git a/src/Banquale/Model/Manager.cs b/src/Banquale/Model/Manager.cs index af8856b..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,7 +28,7 @@ namespace Model [DataMember] public List CustomersList { get; private set; } // devient un set - public List CategoryList { get; private set; } = new List {"Automobile", "Santé", "Abonnement", "Logement", "Impôts et taxes", "Courses", "Loisirs et sorties", "Enfant(s)"}; + 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/Transaction.cs b/src/Banquale/Model/Transaction.cs index 420fc4c..27d1ff6 100644 --- a/src/Banquale/Model/Transaction.cs +++ b/src/Banquale/Model/Transaction.cs @@ -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;