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 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/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/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/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/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;