diff --git a/src/Banquale/Banquale/App.xaml.cs b/src/Banquale/Banquale/App.xaml.cs
index b1b8ce2..c074ff2 100644
--- a/src/Banquale/Banquale/App.xaml.cs
+++ b/src/Banquale/Banquale/App.xaml.cs
@@ -22,10 +22,5 @@ public partial class App : Application
MainPage = new AppShell();
- //MyManager.SelectedTransaction = MyManager.CustomersList[0].AccountsList[0].TransactionsList[0];
-
- //MainPage = new Views.TransactionsPage();
-
}
-
}
diff --git a/src/Banquale/Banquale/AppShell.xaml.cs b/src/Banquale/Banquale/AppShell.xaml.cs
index b345884..833df87 100644
--- a/src/Banquale/Banquale/AppShell.xaml.cs
+++ b/src/Banquale/Banquale/AppShell.xaml.cs
@@ -1,26 +1,18 @@
using Banquale.Views;
using Banquale.Views.Category;
using Banquale.Views.Transfer;
+using Model;
+
namespace Banquale;
public partial class AppShell : Shell
{
- public AppShell()
+
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ public AppShell()
{
InitializeComponent();
- RegisterRoutes();
- }
-
- private void RegisterRoutes()
- {
- Routing.RegisterRoute("balance/categorydetails", typeof(CategoryPage));
- Routing.RegisterRoute("balance/newpagedetails", typeof(NewPage1));
- Routing.RegisterRoute("menu/requestdetails", typeof(RequestPage));
- Routing.RegisterRoute("menu/ribdetails", typeof(RibPage));
- Routing.RegisterRoute("menu/transferdetails", typeof(TransferPage));
- Routing.RegisterRoute("connection/consultant", typeof(ConsultantHomePage));
- Routing.RegisterRoute("consultant/idpage", typeof(ConsultantIdPage));
- Routing.RegisterRoute("consultant/createcustomer", typeof(CreateCustomerPage));
}
}
\ No newline at end of file
diff --git a/src/Banquale/Banquale/Banquale.csproj b/src/Banquale/Banquale/Banquale.csproj
index 6ef5ed2..30cee84 100644
--- a/src/Banquale/Banquale/Banquale.csproj
+++ b/src/Banquale/Banquale/Banquale.csproj
@@ -34,6 +34,7 @@
+
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
index 85df3fb..e8847e5 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
@@ -11,6 +11,9 @@ using System.Threading.Tasks;
namespace Banquale.DataContractPersistance
{
+
+ // Nous ne pouvons utiliser la persitance avec JSON dans notre application car la persitance avec JSON n'accepte pas
+ // les références, nous sommes pourtant obligé d'utiliser des références pour la sauvegarde des transactions
public class DataContractPersJSON : IPersistenceManager
{
@@ -18,7 +21,7 @@ namespace Banquale.DataContractPersistance
public string FileName { get; set; } = "DataSave.json";
- public (List, Consultant) DataLoad()
+ public (HashSet, Consultant) DataLoad()
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(DataToPersist));
@@ -33,7 +36,7 @@ namespace Banquale.DataContractPersistance
}
- public void DataSave(List cu, Consultant co)
+ public void DataSave(HashSet cu, Consultant co)
{
DataToPersist data = new DataToPersist();
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs
new file mode 100644
index 0000000..dbf664d
--- /dev/null
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs
@@ -0,0 +1,46 @@
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+using System.Xml;
+
+namespace Banquale.DataContractPersistance
+{
+ public class DataContractPersLINQ : IPersistenceManager
+ {
+
+ public string FilePath { get; set; } = FileSystem.Current.AppDataDirectory;
+ public string FileName { get; set; } = "DataSave.xml";
+
+ public (HashSet, Consultant) DataLoad()
+ {
+ throw new NotImplementedException();
+ }
+
+ public void DataSave(HashSet cu, Consultant co)
+ {
+ XDocument dataSave = new XDocument();
+
+ var save = cu.Select(v => new XElement("Customer",
+ new XElement("Personne",
+ new XElement("name", v.FirstName),
+ new XElement("id", Convert.ToString(v.Id)),
+ new XElement("mdp", v.Password),
+ new XAttribute("Account", v.AccountsList))));
+
+ dataSave.Add(new XElement("Customers", save));
+
+ XmlWriterSettings settings = new XmlWriterSettings();
+ settings.Indent = true;
+
+ using (TextWriter tw = File.CreateText(Path.Combine(FilePath, FileName)))
+ using (XmlWriter writer = XmlWriter.Create(tw, settings))
+ {
+ dataSave.Save(writer);
+ }
+ }
+ }
+}
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
index 893ee04..1578188 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
@@ -10,12 +10,11 @@ namespace Banquale.DataContractPersistance
{
public class DataContractPersXML : IPersistenceManager
{
- //public string FilePath { get; set; } = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/datbase.xml";
public string FilePath { get; set; } = FileSystem.Current.AppDataDirectory;
public string FileName { get; set; } = "DataSave.xml";
- public (List, Consultant) DataLoad()
+ public (HashSet, Consultant) DataLoad()
{
var serializer = new DataContractSerializer(typeof(DataToPersist));
@@ -33,23 +32,10 @@ namespace Banquale.DataContractPersistance
data = new DataToPersist(); // Si le fichier n'existe pas, créez une nouvelle liste
}
- // List CustomersList;
- //Consultant Consultant;
-
- //using (Stream s = File.OpenRead(Path.Combine(FilePath, FileNameCustomer)))
- //{
- // CustomersList = serializer.ReadObject(s) as List;
- // }
-
- // using (Stream s = File.OpenRead(Path.Combine(FilePath, FileNameConsultant)))
- // {
- // Consultant = serializer2.ReadObject(s) as Consultant;
- // }
-
return (data.customer, data.consultant);
}
- public void DataSave(List cu, Consultant co)
+ public void DataSave(HashSet cu, Consultant co)
{
var serializer = new DataContractSerializer(typeof(DataToPersist), new DataContractSerializerSettings() { PreserveObjectReferences = true });
// La deuxième partie sert à faire des références, cela sert à ne pas duppliquer l'écriture de certains attributs
@@ -74,33 +60,6 @@ namespace Banquale.DataContractPersistance
}
}
-
- // var serializer = new DataContractSerializer(typeof(List));
- // var serializer2 = new DataContractSerializer(typeof(Consultant));
-
- // if (!Directory.Exists(FilePath))
- //{
- // Debug.WriteLine("Directory created");
- // Debug.WriteLine(FilePath);
- // Directory.CreateDirectory(FilePath);
- //}
-
- //var settings = new XmlWriterSettings() { Indent = true };
- // using (TextWriter tw = File.CreateText(Path.Combine(FilePath, FileNameCustomer)))
- //{
- // using (XmlWriter writer = XmlWriter.Create(tw, settings))
- // {
- // serializer.WriteObject(writer, cu);
- // }
- //}
-
- // using (TextWriter tw2 = File.CreateText(Path.Combine(FilePath, FileNameConsultant)))
- // {
- // using (XmlWriter writer2 = XmlWriter.Create(tw2, settings))
- // {
- // serializer.WriteObject(writer2, co);
- // }
- // }
}
}
}
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
index 22c9843..1e08211 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
@@ -5,7 +5,7 @@ namespace Banquale.DataContractPersistance
{
public class DataToPersist
{
- public List customer { get; set; } = new List();
+ public HashSet customer { get; set; } = new HashSet();
public Consultant consultant { get; set; }
}
}
diff --git a/src/Banquale/Banquale/Stub/Stub.cs b/src/Banquale/Banquale/Stub/Stub.cs
index 93e6998..c544ad9 100644
--- a/src/Banquale/Banquale/Stub/Stub.cs
+++ b/src/Banquale/Banquale/Stub/Stub.cs
@@ -8,10 +8,34 @@ namespace Banquale.Stub
public class Stub : IPersistenceManager
{
- public (List, Consultant) DataLoad()
+ public (HashSet, Consultant) DataLoad()
{
Consultant Consultant = new Consultant("Consultant", "Consultant", "Consultant"); // toujours creer en premier le consultant
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
+ Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
+ Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
+ Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
+ Consultant.MessagesList.Add(new Message("alce", "ubec"));
Consultant.MessagesList.Add(new Message("ZUvuzveu", "ZBUBUE"));
Consultant.MessagesList.Add(new Message("zcdz", "rvri"));
Consultant.MessagesList.Add(new Message("vjkebor", "rbv"));
@@ -25,16 +49,16 @@ namespace Banquale.Stub
Account Account2 = new Account(9510, "Despoints", "FR7647858569691441525263003");
Account Account3 = new Account(3519, "Perotte", "FR7663522541416969585847002");
-
- 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));
+ Transaction Transaction1 = new Transaction(true, 55, Account2, new DateTime(2023, 6, 21, 15, 29, 20));
+ Transaction Transaction12 = new Transaction(true, 105, Account2, new DateTime(2023, 8, 17, 18, 54, 35));
+ Transaction Transaction13 = new Transaction(true, 187, Account3, new DateTime(2023, 5, 3, 8, 39, 49));
+ Transaction Transaction2 = new Transaction(false, 54.99, Account2, new DateTime(2022, 8, 15));
+ Transaction Transaction3 = new Transaction(true, 1000, Account3, new DateTime(2020, 9, 1, 20, 00, 00));
Debug.WriteLine(Customer1.Name, Customer1.Password);
- List CustomersList = new List();
+ Debug.WriteLine(Customer1.Name, Customer1.Password);
+ HashSet CustomersList = new HashSet();
List TransactionsList= new List();
List AccountsList = new List();
@@ -46,16 +70,17 @@ namespace Banquale.Stub
//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);
+ Account1.DoTransactions(Account2, 55, true);
+ Account1.DoTransactions(Account2, 105, true);
+ Account1.DoTransactions(Account3, 187, true);
+ Account1.DoTransactions(Account2, 54.99, false);
+ Account1.DoTransactions(Account3, 1000, false);
Customer1.AccountsList.Add(Account1);
Customer1.AccountsList.Add(Account2);
+ Customer2.AccountsList.Add(Account3);
CustomersList.Add(Customer1);
@@ -64,7 +89,7 @@ namespace Banquale.Stub
return (CustomersList, Consultant);
}
- public void DataSave(List c, Consultant consultant)
+ public void DataSave(HashSet c, Consultant consultant)
{
throw new NotImplementedException();
}
diff --git a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml
index 0ac4134..d275690 100644
--- a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml
+++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml
@@ -3,8 +3,15 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Banquale.Views.Balance.BalancePage"
xmlns:local="clr-namespace:Banquale.Views.Balance"
- Shell.NavBarIsVisible="False">
+ xmlns:conv="clr-namespace:Banquale.Views.Converters"
+ Shell.NavBarIsVisible="False"
+ Shell.TabBarIsVisible="True">
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
index 9cb857f..87950a3 100644
--- a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
@@ -1,4 +1,5 @@
-using Model;
+using Android.Telephony;
+using Model;
namespace Banquale.Views.Balance;
@@ -7,22 +8,29 @@ public partial class BalancePage : ContentPage
{
public Manager Mgr => (App.Current as App).MyManager;
+ //private BalanceView MybalanceView;
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);
- }
+ //MybalanceView = balanceViewContainer.FindByName("balanceViewContainer");
}
- public async void Balance_Clicked(object sender, EventArgs e)
+ public void RefreshPage()
{
- await Shell.Current.Navigation.PushAsync(new NewPage1());
+ BindingContext = Mgr.SelectedAccount;
+ //MybalanceView.RefreshView();
+ }
+
+ 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());
+ }
}
}
diff --git a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml
index 3136699..f46c327 100644
--- a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml
+++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml
@@ -1,10 +1,18 @@
+
+
+
+
+
+
+
@@ -26,11 +34,6 @@
-
-
+
diff --git a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
index 3dbeb1b..c5bf00e 100644
--- a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
+++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
@@ -23,27 +23,12 @@ public partial class BalanceView : ContentView
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());
+ public void RefreshView()
+ {
+ BindingContext = Mgr.SelectedAccount;
+
+
}
}
diff --git a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
index 51fd189..88597b1 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
+++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
@@ -18,6 +18,7 @@ public partial class CategoryView : ContentView
if (selectedItem != null)
{
Mgr.SelectedTransaction.ChangeCategory(selectedItem);
+ Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
await Shell.Current.Navigation.PopAsync();
}
diff --git a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
index 040f54e..c012111 100644
--- a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
@@ -13,19 +13,6 @@ public partial class ConsultantIdPage : ContentPage
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)
{
uint currentId = Convert.ToUInt32(ident.Text);
diff --git a/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs b/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs
new file mode 100644
index 0000000..bf9a2f3
--- /dev/null
+++ b/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Banquale.Views.Converters
+{
+ public class Bool2ColorConverters : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ bool NewValue = (bool) value;
+
+ if (NewValue== true)
+ return Colors.Red;
+ return Colors.Green;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/Banquale/Banquale/Views/Converters/Int2StringConverters.cs b/src/Banquale/Banquale/Views/Converters/Int2StringConverters.cs
new file mode 100644
index 0000000..ec6a24d
--- /dev/null
+++ b/src/Banquale/Banquale/Views/Converters/Int2StringConverters.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Banquale.Views.Converters
+{
+ public class Int2StringConverters : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ string res;
+ Debug.WriteLine(parameter);
+ //return value.ToString();
+ //if (parameter is not bool)
+ // return false;
+ bool NewParameter = (bool)parameter;
+ if (NewParameter)
+ res = "-" + (string)value;
+ else
+ res = "+" + (string)value;
+ return res;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
index f92cbfd..e4a0819 100644
--- a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
+++ b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml
@@ -8,7 +8,7 @@
@@ -22,7 +22,7 @@
+ FontSize="16" />
+ Placeholder="Entrez le mot de passe"
+ IsPassword="True"/>
@@ -63,7 +64,7 @@
+ FontSize="16" />
+ Keyboard="Numeric"/>
-
-