diff --git a/src/Banquale/Banquale/AppShell.xaml b/src/Banquale/Banquale/AppShell.xaml index d01fdb1..219ea3d 100644 --- a/src/Banquale/Banquale/AppShell.xaml +++ b/src/Banquale/Banquale/AppShell.xaml @@ -6,11 +6,6 @@ xmlns:views="clr-namespace:Banquale.Views" Shell.FlyoutBehavior="Disabled"> - - diff --git a/src/Banquale/Banquale/Model/Account.cs b/src/Banquale/Banquale/Model/Account.cs index a6127ac..bb6a9f4 100644 --- a/src/Banquale/Banquale/Model/Account.cs +++ b/src/Banquale/Banquale/Model/Account.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -7,14 +8,84 @@ using System.Threading.Tasks; namespace Banquale.Model { - public class Account + public class Account : INotifyPropertyChanged { - public int Balance { get; set; } + public event PropertyChangedEventHandler PropertyChanged; - public string Name { get; set;} + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } - public string IBAN { get; set; } + public double Balance + { + get => Balance; + set + { + if (balance == value) + return; + balance = value; + OnPropertyChanged(nameof(Balance)); + } + } + private double balance; + + + + public string Name + { + get => name; + set + { + if (name == value) + return; + name = value; + OnPropertyChanged(nameof(Name)); + } + } + private string name; + + public string IBAN + { + get => iban; + set + { + if (iban == value) + return; + iban = value; + OnPropertyChanged(nameof(IBAN)); + } + } + private string iban; + + + public Account(int balance, string name, string iban) + { + Balance = balance; + Name = name; + IBAN = iban; + } public List TransactionsList { get; set; } + + //public bool DoTransactions(string name, string IBAN, float sum) + //{ + // List transactions.add(sum); + // if () + // return true; + //} + + //public bool DoRequest(string name, string IBAN, float sum) + //{ + // List transactions.add(sum); + // if () + // return true; + //} + + //public void AskForHelp(string type, string type2, string message) + //{ + + //} + } } diff --git a/src/Banquale/Banquale/Model/Customer.cs b/src/Banquale/Banquale/Model/Customer.cs index 106cc7e..4576cd3 100644 --- a/src/Banquale/Banquale/Model/Customer.cs +++ b/src/Banquale/Banquale/Model/Customer.cs @@ -14,10 +14,14 @@ namespace Banquale.Model [DataMember] public List AccountsList { get; private set; } + //private unsigned int NbAccounts { get; private set; } + public Customer(string name, string firstName, string password) : base(name, firstName, password) {} + + } diff --git a/src/Banquale/Banquale/Model/IPersistenceManager.cs b/src/Banquale/Banquale/Model/IPersistenceManager.cs index 2930ad3..c50a775 100644 --- a/src/Banquale/Banquale/Model/IPersistenceManager.cs +++ b/src/Banquale/Banquale/Model/IPersistenceManager.cs @@ -10,6 +10,6 @@ namespace Banquale.Model { public (List, List) DataLoad(); - void DataSave(List c, List t); + void DataSave(List c, List t /*, List c2*/); } } diff --git a/src/Banquale/Banquale/Model/Manager.cs b/src/Banquale/Banquale/Model/Manager.cs index d40d2c2..4cf444f 100644 --- a/src/Banquale/Banquale/Model/Manager.cs +++ b/src/Banquale/Banquale/Model/Manager.cs @@ -14,11 +14,11 @@ namespace Banquale.Model public IPersistenceManager Persistence { get; set; } - public Manager(IPersistenceManager persistance) { + public Manager(IPersistenceManager persistence) { TransactionsList = new List(); CustomersList = new List(); - Persistence = persistance; + Persistence = persistence; } diff --git a/src/Banquale/Banquale/Model/Transactions.cs b/src/Banquale/Banquale/Model/Transactions.cs index e970439..e836b52 100644 --- a/src/Banquale/Banquale/Model/Transactions.cs +++ b/src/Banquale/Banquale/Model/Transactions.cs @@ -1,26 +1,89 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.ComponentModel; namespace Banquale.Model { - public class Transactions + public class Transactions : INotifyPropertyChanged { - public int Type { get; private set; } - public int Sum { get; private set; } + void OnPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + public int Type + { + get => type; + set + { + if(type == value) + return; + type = value; + OnPropertyChanged(nameof(Type)); + } + } + + private int type; + + public Double Sum + { + get => sum; + set + { + if (sum == value) + return; + sum = value; + OnPropertyChanged(nameof(Sum)); + } + } + private Double sum; - public Account InvolvedAccounts { get; private set; } + public Account InvolvedAccounts + { + get => involvedAccounts; + set + { + if (involvedAccounts == value) + return; + involvedAccounts = value; + OnPropertyChanged(nameof(InvolvedAccounts)); + } + } + private Account involvedAccounts; - public string Category { get; private set; } + public string Category + { + get => category; + set + { + if (category == value) + return; + category = value; + OnPropertyChanged(nameof(Category)); + } + } + private string category; - public Transactions(int type, int sum, Account involvedAccounts, string category) { + public DateTime Date + { + get => date; + set + { + if (date == value) + return; + date = value; + OnPropertyChanged(nameof(Date)); + } + } + private DateTime date; + + public Transactions(int type, Double sum, Account involvedAccounts, string category, DateTime date) + { Type = type; Sum = sum; InvolvedAccounts = involvedAccounts; Category = category; + Date = date; } + + public event PropertyChangedEventHandler PropertyChanged; } } diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs index 52800c8..3ba7880 100644 --- a/src/Banquale/Banquale/Stub/Stub.cs +++ b/src/Banquale/Banquale/Stub/Stub.cs @@ -3,21 +3,36 @@ using Banquale.Model; namespace Banquale.Stub { - public class Stub : IPersistenceManager - { + public class Stub : IPersistenceManager + { - public (List, List) DataLoad() + public (List, List /*, List*/) DataLoad() { Customer Customer1 = new Customer("Jacques", "Morice", "J'aimeLesFrites"); Customer Customer2 = new Customer("Francis", "Begore", "J'aimeLes"); 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 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)); + 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)); + Console.WriteLine(Customer1); - List CustomersList = new List(); - List TransactionsList = new List(); - CustomersList.Add(Customer1); - CustomersList.Add(Customer2); - CustomersList.Add(Customer3); - return (CustomersList, TransactionsList); + List ListeCustomers = new List(); + List ListeTransactions = new List(); + //List ListeAccount = new List(); + //ListeAccount.Add( Account1 ); + //ListeAccount.Add(Account2); + //ListeAccount.Add(Account3); + + ListeCustomers.Add(Customer1); + ListeCustomers.Add(Customer2); + ListeCustomers.Add(Customer3); + return (ListeCustomers, ListeTransactions /*, ListeAccount*/); } public void DataSave(List c, List t) diff --git a/src/Banquale/Banquale/Views/BalancePage.xaml b/src/Banquale/Banquale/Views/BalancePage.xaml index 636656b..3735e07 100644 --- a/src/Banquale/Banquale/Views/BalancePage.xaml +++ b/src/Banquale/Banquale/Views/BalancePage.xaml @@ -2,9 +2,11 @@ + Shell.NavBarIsVisible="False" +>