diff --git a/src/Banquale/Banquale/App.xaml.cs b/src/Banquale/Banquale/App.xaml.cs
index c074ff2..71df00a 100644
--- a/src/Banquale/Banquale/App.xaml.cs
+++ b/src/Banquale/Banquale/App.xaml.cs
@@ -2,25 +2,35 @@
using Banquale.Stub;
using Banquale.DataContractPersistance;
-namespace Banquale;
-
-public partial class App : Application
+namespace Banquale
{
-
- public Manager MyManager { get; private set; } = new Manager(new Stub.Stub() /*DataContractPersistance.DataContractPersXML()*/);
-
-
-
- public App()
- {
-
- MyManager.DataLoad();
- MyManager.Persistence = new DataContractPersistance.DataContractPersXML();
- MyManager.DataSave();
-
- InitializeComponent();
-
- MainPage = new AppShell();
-
+ ///
+ /// Classe principale de l'application Banquale.
+ ///
+ public partial class App : Application
+ {
+ ///
+ /// Déclare et instencie le manager MyManager
+ ///
+ public Manager MyManager { get; private set; } = new Manager(new Stub.Stub() /*DataContractPersistance.DataContractPersXML()*/);
+
+ ///
+ /// Initialise une nouvelle instance de la classe App.
+ ///
+ public App()
+ {
+ // Charge les données
+ MyManager.DataLoad();
+
+ // Définit le mécanisme de persistance
+ MyManager.Persistence = new DataContractPersistance.DataContractPersXML();
+
+ // Enregistre les données
+ MyManager.DataSave();
+
+ InitializeComponent();
+
+ MainPage = new AppShell();
+ }
}
}
diff --git a/src/Banquale/Banquale/AppShell.xaml.cs b/src/Banquale/Banquale/AppShell.xaml.cs
index 833df87..2a52ab8 100644
--- a/src/Banquale/Banquale/AppShell.xaml.cs
+++ b/src/Banquale/Banquale/AppShell.xaml.cs
@@ -3,16 +3,24 @@ using Banquale.Views.Category;
using Banquale.Views.Transfer;
using Model;
-namespace Banquale;
-
-public partial class AppShell : Shell
+namespace Banquale
{
+ ///
+ /// Classe représentant la coquille de l'application.
+ ///
+ public partial class AppShell : Shell
+ {
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application (Manager Mgr).
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
- public Manager Mgr => (App.Current as App).MyManager;
-
- public AppShell()
- {
- InitializeComponent();
+ ///
+ /// Initialise une nouvelle instance de la classe AppShell.
+ ///
+ public AppShell()
+ {
+ InitializeComponent();
+ }
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
index e8847e5..93b1b87 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersJSON.cs
@@ -7,20 +7,31 @@ using System.Runtime.Serialization.Json;
using System.Text;
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
+
+
+ ///
+ /// Gestionnaire de persistance avec JSON utilisant DataContract.
+ ///
public class DataContractPersJSON : IPersistenceManager
{
-
+ ///
+ /// Chemin du fichier de sauvegarde.
+ ///
public string FilePath { get; set; } = FileSystem.Current.AppDataDirectory;
- public string FileName { get; set; } = "DataSave.json";
+ ///
+ /// Nom du fichier de sauvegarde.
+ ///
+ public string FileName { get; set; } = "DataSave.json";
+ ///
+ /// Charge les données sauvegardées.
+ ///
+ /// Tuple contenant la liste des clients et le consultant.
public (HashSet, Consultant) DataLoad()
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(DataToPersist));
@@ -33,12 +44,15 @@ namespace Banquale.DataContractPersistance
}
return (data.customer, data.consultant);
-
}
+ ///
+ /// Sauvegarde les données.
+ ///
+ /// Liste des clients.
+ /// Consultant.
public void DataSave(HashSet cu, Consultant co)
{
-
DataToPersist data = new DataToPersist();
data.customer = cu;
data.consultant = co;
@@ -50,7 +64,7 @@ namespace Banquale.DataContractPersistance
stream,
System.Text.Encoding.UTF8,
false,
- true))//<- this boolean says that we sant indentation
+ true)) // <- this boolean says that we want indentation
{
jsonSerializer.WriteObject(writer, data);
}
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs
index dbf664d..4dd1f29 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersLINQ.cs
@@ -9,17 +9,35 @@ using System.Xml;
namespace Banquale.DataContractPersistance
{
+ ///
+ /// Classe de gestion de persistance utilisant LINQ.
+ ///
public class DataContractPersLINQ : IPersistenceManager
{
-
+ ///
+ /// Chemin du fichier de sauvegarde.
+ ///
public string FilePath { get; set; } = FileSystem.Current.AppDataDirectory;
+
+ ///
+ /// Nom du fichier de sauvegarde.
+ ///
public string FileName { get; set; } = "DataSave.xml";
+ ///
+ /// Charge les données à partir du fichier de sauvegarde.
+ ///
+ /// Un tuple contenant la liste des clients et le consultant.
public (HashSet, Consultant) DataLoad()
{
throw new NotImplementedException();
}
+ ///
+ /// Sauvegarde les données dans le fichier de sauvegarde.
+ ///
+ /// Liste des clients à sauvegarder.
+ /// Consultant à sauvegarder.
public void DataSave(HashSet cu, Consultant co)
{
XDocument dataSave = new XDocument();
@@ -29,7 +47,7 @@ namespace Banquale.DataContractPersistance
new XElement("name", v.FirstName),
new XElement("id", Convert.ToString(v.Id)),
new XElement("mdp", v.Password),
- new XAttribute("Account", v.AccountsList))));
+ new XAttribute("Account", v.AccountsList))));
dataSave.Add(new XElement("Customers", save));
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs b/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
index 1578188..23b84b1 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataContractPersXML.cs
@@ -5,20 +5,32 @@ using System.Diagnostics;
using System.Runtime.Serialization;
using System.Xml;
-
namespace Banquale.DataContractPersistance
{
- public class DataContractPersXML : IPersistenceManager
- {
-
+ ///
+ /// Gestionnaire de persistance avec XML utilisant DataContract.
+ ///
+ public class DataContractPersXML : IPersistenceManager
+ {
+ ///
+ /// Chemin du fichier de sauvegarde.
+ ///
public string FilePath { get; set; } = FileSystem.Current.AppDataDirectory;
- public string FileName { get; set; } = "DataSave.xml";
+ ///
+ /// Nom du fichier de sauvegarde.
+ ///
+ public string FileName { get; set; } = "DataSave.xml";
+
+ ///
+ /// Charge les données sauvegardées.
+ ///
+ /// Tuple contenant la liste des clients et le consultant.
public (HashSet, Consultant) DataLoad()
- {
- var serializer = new DataContractSerializer(typeof(DataToPersist));
+ {
+ var serializer = new DataContractSerializer(typeof(DataToPersist));
- DataToPersist data;
+ DataToPersist data;
if (File.Exists(Path.Combine(FilePath, FileName))) // Vérifiez si le fichier existe
{
@@ -33,11 +45,16 @@ namespace Banquale.DataContractPersistance
}
return (data.customer, data.consultant);
- }
+ }
- public void DataSave(HashSet cu, Consultant co)
- {
- var serializer = new DataContractSerializer(typeof(DataToPersist), new DataContractSerializerSettings() { PreserveObjectReferences = true });
+ ///
+ /// Sauvegarde les données.
+ ///
+ /// Liste des clients.
+ /// Consultant.
+ 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
if (!Directory.Exists(FilePath))
@@ -46,7 +63,6 @@ namespace Banquale.DataContractPersistance
Directory.CreateDirectory(FilePath);
}
-
DataToPersist data = new DataToPersist();
data.customer = cu;
data.consultant = co;
@@ -59,8 +75,6 @@ namespace Banquale.DataContractPersistance
serializer.WriteObject(w, data);
}
}
-
}
}
}
-
diff --git a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
index 1e08211..241f910 100644
--- a/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
+++ b/src/Banquale/Banquale/DataContractPersistance/DataToPersist.cs
@@ -3,10 +3,19 @@ using Model;
namespace Banquale.DataContractPersistance
{
- public class DataToPersist
- {
- public HashSet customer { get; set; } = new HashSet();
- public Consultant consultant { get; set; }
- }
-}
+ ///
+ /// Classe de données à persister.
+ ///
+ public class DataToPersist
+ {
+ ///
+ /// Liste des clients à persister.
+ ///
+ public HashSet customer { get; set; } = new HashSet();
+ ///
+ /// Consultant à persister.
+ ///
+ public Consultant consultant { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
index 87950a3..01d6570 100644
--- a/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Balance/BalancePage.xaml.cs
@@ -1,36 +1,44 @@
using Android.Telephony;
using Model;
-namespace Banquale.Views.Balance;
-
-
-public partial class BalancePage : ContentPage
+namespace Banquale.Views.Balance
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- //private BalanceView MybalanceView;
- public BalancePage()
- {
- InitializeComponent();
- BindingContext = Mgr.SelectedAccount;
- //MybalanceView = balanceViewContainer.FindByName("balanceViewContainer");
- }
-
- public void RefreshPage()
+ ///
+ /// Page de balance.
+ ///
+ public partial class BalancePage : ContentPage
{
- BindingContext = Mgr.SelectedAccount;
- //MybalanceView.RefreshView();
- }
+ public Manager Mgr => (App.Current as App).MyManager;
- public async void Transaction_Clicked(Object sender, EventArgs e)
- {
- var selectedItem = (sender as Grid)?.BindingContext as Transaction;
+ ///
+ /// Constructeur de la page BalancePage.
+ ///
+ public BalancePage()
+ {
+ InitializeComponent();
+ BindingContext = Mgr.SelectedAccount;
+ }
- if (selectedItem != null)
+ ///
+ /// Actualise la page.
+ ///
+ public void RefreshPage()
{
- Mgr.SelectedTransaction = selectedItem;
- await Navigation.PushModalAsync(new TransactionsPage());
+ BindingContext = Mgr.SelectedAccount;
}
- }
+ ///
+ /// Gère le clic sur une transaction.
+ ///
+ 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.cs b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
index c5bf00e..aa99ff0 100644
--- a/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
+++ b/src/Banquale/Banquale/Views/Balance/BalanceView.xaml.cs
@@ -1,34 +1,44 @@
-using System.Diagnostics;
+using System.Diagnostics;
using Model;
-namespace Banquale.Views.Balance;
-
-public partial class BalanceView : ContentView
+namespace Banquale.Views.Balance
{
+ ///
+ /// Vue pour afficher les différentes transactions d'un compte.
+ ///
+ public partial class BalanceView : ContentView
+ {
+ public Manager Mgr => (App.Current as App).MyManager;
- public Manager Mgr => (App.Current as App).MyManager;
-
- public BalanceView()
- {
- InitializeComponent();
- BindingContext = Mgr.SelectedAccount;
- }
+ ///
+ /// Constructeur de la vue BalanceView.
+ ///
+ public BalanceView()
+ {
+ InitializeComponent();
+ BindingContext = Mgr.SelectedAccount;
+ }
- public async void Transaction_Clicked(Object sender, EventArgs e)
- {
- var selectedItem = (sender as Grid)?.BindingContext as Transaction;
+ ///
+ /// Gère l'événement de clic sur une transaction.
+ ///
+ 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());
+ if (selectedItem != null)
+ {
+ Mgr.SelectedTransaction = selectedItem;
+ await Navigation.PushModalAsync(new TransactionsPage());
+ }
}
- }
- public void RefreshView()
- {
- BindingContext = Mgr.SelectedAccount;
-
-
+ ///
+ /// Rafraîchit la vue.
+ ///
+ public void RefreshView()
+ {
+ BindingContext = Mgr.SelectedAccount;
+ }
}
}
diff --git a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
index 36768c5..d238d6b 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Category/CategoryPage.xaml.cs
@@ -1,13 +1,20 @@
using Model;
-namespace Banquale.Views.Category;
-
-public partial class CategoryPage : ContentPage
+namespace Banquale.Views.Category
{
+ ///
+ /// Page de catégorie.
+ ///
+ public partial class CategoryPage : ContentPage
+ {
+ public Manager Mgr => (App.Current as App).MyManager;
- public Manager Mgr => (App.Current as App).MyManager;
- public CategoryPage()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
+ ///
+ /// Constructeur de la page CategoryPage.
+ ///
+ public CategoryPage()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
index 88597b1..e3ab210 100644
--- a/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
+++ b/src/Banquale/Banquale/Views/Category/CategoryView.xaml.cs
@@ -1,26 +1,36 @@
using Model;
-namespace Banquale.Views.Category;
-
-public partial class CategoryView : ContentView
+namespace Banquale.Views.Category
{
+ ///
+ /// Vue partielle pour afficher les différentes catégories.
+ ///
+ public partial class CategoryView : ContentView
+ {
+ public Manager Mgr => (App.Current as App).MyManager;
- public Manager Mgr => (App.Current as App).MyManager;
- public CategoryView()
- {
- InitializeComponent();
- BindingContext = Mgr;
- }
+ ///
+ /// Constructeur de la vue CategoryView.
+ ///
+ public CategoryView()
+ {
+ InitializeComponent();
+ BindingContext = Mgr;
+ }
- public async void Category_Clicked(object sender, EventArgs e)
- {
- var selectedItem = (sender as Grid)?.BindingContext as string;
- if (selectedItem != null)
+ ///
+ /// Gère l'événement de clic sur une catégorie.
+ ///
+ public async void Category_Clicked(object sender, EventArgs e)
{
- Mgr.SelectedTransaction.ChangeCategory(selectedItem);
- Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
- await Shell.Current.Navigation.PopAsync();
+ var selectedItem = (sender as Grid)?.BindingContext as string;
+
+ if (selectedItem != null)
+ {
+ Mgr.SelectedTransaction.ChangeCategory(selectedItem);
+ Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
+ await Shell.Current.Navigation.PopAsync();
+ }
}
-
}
-}
\ 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 2d2f00d..98d4d34 100644
--- a/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConnectionPage.xaml.cs
@@ -1,49 +1,57 @@
using Model;
-namespace Banquale.Views;
-
-public partial class ConnectionPage : ContentPage
+namespace Banquale.Views
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public ConnectionPage()
- {
- InitializeComponent();
- }
-
- public async void Connection_Clicked(Object sender, EventArgs e)
+ ///
+ /// Page de connexion.
+ ///
+ public partial class ConnectionPage : ContentPage
{
- uint currentId = Convert.ToUInt32(ident.Text);
- string password = pass.Text;
-
- if (string.IsNullOrWhiteSpace(ident.Text) || string.IsNullOrWhiteSpace(password))
- {
- await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
- return;
- }
+ public Manager Mgr => (App.Current as App).MyManager;
- if(currentId == 0 && password == "consultant")
+ ///
+ /// Initialise une nouvelle instance de la classe ConnectionPage.
+ ///
+ public ConnectionPage()
{
- Mgr.IsConsultant = true;
- await Navigation.PushModalAsync(new ConsultantHomePage());
- return;
- }
- else
- {
- Mgr.IsConsultant = false;
+ InitializeComponent();
}
- Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId && u.Password == password);
- if (customer == null)
+ ///
+ /// Gère l'événement du bouton de connexion.
+ ///
+ public async void Connection_Clicked(Object sender, EventArgs e)
{
- await DisplayAlert("Erreur", "Le mot de passe ou l'id entré est incorrect.", "OK");
- return;
+ uint currentId = Convert.ToUInt32(ident.Text);
+ string password = pass.Text;
+
+ if (string.IsNullOrWhiteSpace(ident.Text) || string.IsNullOrWhiteSpace(password))
+ {
+ await DisplayAlert("Erreur", "Tous les champs doivent être complétés", "OK");
+ return;
+ }
+
+ if (currentId == 0 && password == "consultant")
+ {
+ Mgr.IsConsultant = true;
+ await Navigation.PushModalAsync(new ConsultantHomePage());
+ return;
+ }
+ else
+ {
+ Mgr.IsConsultant = false;
+ }
+
+ Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId && u.Password == password);
+ if (customer == null)
+ {
+ await DisplayAlert("Erreur", "Le mot de passe ou l'identifiant entré est incorrect.", "OK");
+ return;
+ }
+
+ Mgr.SelectedCustomer = customer;
+
+ await Navigation.PushModalAsync(new SwitchAccountPage());
}
-
- Mgr.SelectedCustomer = customer;
-
-
- await Navigation.PushModalAsync(new SwitchAccountPage());
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Banquale/Views/ConsultantHomePage.xaml.cs b/src/Banquale/Banquale/Views/ConsultantHomePage.xaml.cs
index be0840f..ac1beaf 100644
--- a/src/Banquale/Banquale/Views/ConsultantHomePage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConsultantHomePage.xaml.cs
@@ -1,33 +1,48 @@
-namespace Banquale.Views;
-
-public partial class ConsultantHomePage : ContentPage
+namespace Banquale.Views
{
- public ConsultantHomePage()
- {
- InitializeComponent();
- }
-
- async void DisconnectionClicked(System.Object sender, System.EventArgs e)
+ ///
+ /// Page d'accueil du consultant.
+ ///
+ public partial class ConsultantHomePage : ContentPage
{
- await Shell.Current.GoToAsync("///connection");
- }
+ ///
+ /// Initialise une nouvelle instance de la classe ConsultantHomePage.
+ ///
+ public ConsultantHomePage()
+ {
+ InitializeComponent();
+ }
- async void Id_Clicked(System.Object sender, System.EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new ConsultantIdPage());
- //await Shell.Current.GoToAsync("..");
- }
+ ///
+ /// Gère l'événement du bouton de déconnexion.
+ ///
+ async void DisconnectionClicked(System.Object sender, System.EventArgs e)
+ {
+ await Shell.Current.GoToAsync("///connection");
+ }
- async void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new CreateCustomerPage());
- //await Shell.Current.GoToAsync("///createcustomer");
- }
+ ///
+ /// Gère l'événement du bouton d'identification du client.
+ ///
+ async void Id_Clicked(System.Object sender, System.EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new ConsultantIdPage());
+ }
- async void Message_Clicked(System.Object sender, System.EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new MessageListPage());
- //await Shell.Current.GoToAsync("///createcustomer");
- }
+ ///
+ /// Gère l'événement du bouton de création de client.
+ ///
+ async void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new CreateCustomerPage());
+ }
-}
\ No newline at end of file
+ ///
+ /// Gère l'événement du bouton de messagerie.
+ ///
+ async void Message_Clicked(System.Object sender, System.EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new MessageListPage());
+ }
+ }
+}
diff --git a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
index c012111..3018494 100644
--- a/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/ConsultantIdPage.xaml.cs
@@ -1,47 +1,63 @@
-using System.Diagnostics;
+using System.Diagnostics;
using Banquale.Views;
using Model;
-namespace Banquale.Views;
-
-public partial class ConsultantIdPage : ContentPage
+namespace Banquale.Views
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public ConsultantIdPage()
- {
- InitializeComponent();
- }
-
- public async void Connection_Clicked(Object sender, EventArgs e)
+ ///
+ /// Page d'identification du consultant.
+ ///
+ public partial class ConsultantIdPage : ContentPage
{
- uint currentId = Convert.ToUInt32(ident.Text);
-
- if (string.IsNullOrWhiteSpace(ident.Text))
- {
- await DisplayAlert("Erreur", "Il faut rentrer un ID", "OK");
- return;
- }
-
- if (currentId == 0)
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application.
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ ///
+ /// Initialise une nouvelle instance de la classe ConsultantIdPage.
+ ///
+ public ConsultantIdPage()
{
- await DisplayAlert("Erreur", "Ce compte est innaccessible", "OK");
- return;
+ InitializeComponent();
}
- Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId);
- if (customer == null)
+ ///
+ /// Gère l'événement du bouton de connexion.
+ ///
+ public async void Connection_Clicked(Object sender, EventArgs e)
{
- await DisplayAlert("Erreur", "L'id entré est incorrect ou n'existe pas.", "OK");
- return;
+ // Récupération de l'ID entré
+ uint currentId = Convert.ToUInt32(ident.Text);
+
+ // Validation de l'ID
+ if (string.IsNullOrWhiteSpace(ident.Text))
+ {
+ await DisplayAlert("Erreur", "Il faut rentrer un ID", "OK");
+ return;
+ }
+
+ if (currentId == 0)
+ {
+ await DisplayAlert("Erreur", "Ce compte est inaccessible", "OK");
+ return;
+ }
+
+ // Recherche du client correspondant à l'ID
+ Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId);
+ if (customer == null)
+ {
+ await DisplayAlert("Erreur", "L'ID entré est incorrect ou n'existe pas.", "OK");
+ return;
+ }
+
+ // Sélection du client dans le gestionnaire
+ Mgr.SelectedCustomer = customer;
+
+ Debug.WriteLine(Mgr.IsConsultant);
+
+ // Navigation vers la page de sélection du compte
+ await Navigation.PushModalAsync(new SwitchAccountPage());
}
-
- Mgr.SelectedCustomer = customer;
-
- Debug.WriteLine(Mgr.IsConsultant);
-
-
- await Navigation.PushModalAsync(new SwitchAccountPage());
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs b/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs
index bf9a2f3..73832e9 100644
--- a/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs
+++ b/src/Banquale/Banquale/Views/Converters/Bool2ColorConverters.cs
@@ -7,17 +7,26 @@ using System.Threading.Tasks;
namespace Banquale.Views.Converters
{
+ ///
+ /// Convertisseur de type pour convertir une valeur booléenne en couleur.
+ ///
public class Bool2ColorConverters : IValueConverter
{
+ ///
+ /// Convertit une valeur booléenne en couleur.
+ ///
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
- bool NewValue = (bool) value;
-
- if (NewValue== true)
+ bool NewValue = (bool)value;
+
+ if (NewValue == true)
return Colors.Red;
return Colors.Green;
}
+ ///
+ /// Convertit une couleur en valeur booléenne (non implémenté).
+ ///
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
index ec6a24d..f4f5b57 100644
--- a/src/Banquale/Banquale/Views/Converters/Int2StringConverters.cs
+++ b/src/Banquale/Banquale/Views/Converters/Int2StringConverters.cs
@@ -8,15 +8,18 @@ using System.Threading.Tasks;
namespace Banquale.Views.Converters
{
+ ///
+ /// Convertisseur de type pour convertir un entier en chaîne de caractères avec un signe.
+ ///
public class Int2StringConverters : IValueConverter
{
+ ///
+ /// Convertit un entier en chaîne de caractères avec un signe.
+ ///
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;
@@ -25,6 +28,9 @@ namespace Banquale.Views.Converters
return res;
}
+ ///
+ /// Convertit une chaîne de caractères en entier (non implémenté).
+ ///
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
diff --git a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
index adde7b5..5cb435f 100644
--- a/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/CreateCustomerPage.xaml.cs
@@ -1,136 +1,170 @@
-using System.Diagnostics;
+using System.Diagnostics;
using Model;
-namespace Banquale.Views;
-public partial class CreateCustomerPage : ContentPage
+namespace Banquale.Views
{
- public Manager Mgr => (App.Current as App).MyManager;
+ ///
+ /// Page de création de client.
+ ///
+ public partial class CreateCustomerPage : ContentPage
+ {
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application.
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
- int nbAccount = 1;
+ private int nbAccount = 1;
+ private bool Account2 = false;
+ private Label account = new Label { };
+ private Grid gridAccount = new Grid();
+ private Label balance = new Label { };
+ private Entry balanceEntry = new Entry { };
+ private Label nameLabel = new Label { };
+ private Entry nameEntry = new Entry { };
+ private Label iban = new Label { };
+ private Entry ibanEntry = new Entry { };
- bool Account2 = false;
+ ///
+ /// Initialise une nouvelle instance de la classe CreateCustomerPage.
+ ///
+ public CreateCustomerPage()
+ {
+ InitializeComponent();
+ }
- Label account = new Label { };
- Grid gridAccount = new Grid();
- Label balance = new Label { };
- Entry balanceEntry = new Entry { };
- Label nameLabel = new Label { };
- Entry nameEntry = new Entry { };
- Label iban = new Label { };
- Entry ibanEntry = new Entry { };
+ ///
+ /// Gère l'événement du bouton de création de client.
+ ///
+ public async void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
+ {
+ // Récupération des valeurs des champs
+ double BalanceAccount2 = Convert.ToDouble(balanceEntry.Text);
+ string NameAccount2 = nameEntry.Text;
+ string IbanAccount2 = ibanEntry.Text;
+ string name = NameEntry.Text;
+ string firstName = FirstNameEntry.Text;
+ string password = PasswordEntry.Text;
+ string accountName = AccountNameEntry.Text;
+ double accountBalance = Convert.ToDouble(AccountBalanceEntry.Text);
+ string accountIban = AccountIbanEntry.Text;
- public CreateCustomerPage()
- {
- InitializeComponent();
- }
+ // Validation des champs
+ if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(firstName) || string.IsNullOrWhiteSpace(password)
+ || double.IsNegative(accountBalance) || string.IsNullOrWhiteSpace(accountName)
+ || string.IsNullOrWhiteSpace(accountIban) || string.IsNullOrWhiteSpace(AccountBalanceEntry.Text)
+ || Account2 == true && string.IsNullOrWhiteSpace(NameAccount2) || Account2 == true && string.IsNullOrWhiteSpace(IbanAccount2)
+ || Account2 == true && double.IsNegative(BalanceAccount2) || Account2 == true && string.IsNullOrWhiteSpace(balanceEntry.Text))
+ {
+ await DisplayAlert("Erreur", "Tous les champs doivent être renseignés et corrects (pas de solde négatif)", "OK");
+ }
+ else if (AccountIbanEntry.Text.Length != 27 || IbanAccount2.Length != 27)
+ {
+ await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 27 caractères.", "OK");
+ }
+ else
+ {
+ // Création du client
+ Customer customer = new Customer(name, firstName, password);
+ Account account1 = new Account(accountBalance, accountName, accountIban);
+ customer.AccountsList.Add(account1);
- public async void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
- {
+ if (Account2 == true)
+ {
+ Account account2 = new Account(BalanceAccount2, NameAccount2, IbanAccount2);
+ customer.AccountsList.Add(account2);
+ Debug.WriteLine(account2.IBAN);
+ }
+
+ // Ajout du client au gestionnaire
+ Mgr.CustomersList.Add(customer);
- double BalanceAccount2 = Convert.ToDouble(balanceEntry.Text);
- string NameAccount2 = nameEntry.Text;
- string IbanAccount2 = ibanEntry.Text;
- string name = NameEntry.Text;
- string firstName = FirstNameEntry.Text;
- string password = PasswordEntry.Text;
- string accountName = AccountNameEntry.Text;
- double accountBalance = Convert.ToDouble(AccountBalanceEntry.Text);
- string accountIban = AccountIbanEntry.Text;
-
- if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(firstName) || string.IsNullOrWhiteSpace(password)
- || double.IsNegative(accountBalance) || string.IsNullOrWhiteSpace(accountName)
- || string.IsNullOrWhiteSpace(accountIban) || string.IsNullOrWhiteSpace(AccountBalanceEntry.Text)
- || Account2 == true && string.IsNullOrWhiteSpace(NameAccount2) || Account2 == true && string.IsNullOrWhiteSpace(IbanAccount2)
- || Account2 == true && double.IsNegative(BalanceAccount2) || Account2 == true && string.IsNullOrWhiteSpace(balanceEntry.Text))
- {
- await DisplayAlert("Erreur", "Tous les champs doivent être renseignés et corect (pas de solde négatif)", "OK");
- }
- else if(AccountIbanEntry.Text.Length != 27 || IbanAccount2.Length != 27)
- {
- await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
- }
- else
- {
- Customer customer = new Customer(name, firstName, password);
- Account account1 = new Account(accountBalance, accountName, accountIban);
- customer.AccountsList.Add(account1);
- if (Account2 == true)
- {
- Account account2 = new Account(BalanceAccount2, NameAccount2, IbanAccount2);
- customer.AccountsList.Add(account2);
- Debug.WriteLine(account2.IBAN);
+ Debug.WriteLine(customer.Id);
+ Debug.WriteLine(customer.Password);
+ Debug.WriteLine(account1.IBAN);
+ Debug.WriteLine(customer.AccountsList[0].Balance);
+ Debug.WriteLine(customer.AccountsList[1].Balance);
+
+ await DisplayAlert("Création", "Client " + customer.Name + " créé avec succès.", "OK");
+ await Shell.Current.Navigation.PopAsync();
}
- Mgr.CustomersList.Add(customer);
- Debug.WriteLine(customer.Id);
- Debug.WriteLine(customer.Password);
- Debug.WriteLine(account1.IBAN);
- Debug.WriteLine(customer.AccountsList[0].Balance);
- Debug.WriteLine(customer.AccountsList[1].Balance);
- await DisplayAlert("Création", "Client " + customer.Name +" crée avec succès.", "OK");
- await Shell.Current.Navigation.PopAsync();
- }
- }
+ }
- public void Account_Clicked(object sender, EventArgs e)
- {
- Account2 = true;
- nbAccount++;
- if(nbAccount >= 3)
- {
- DisplayAlert("Erreur", "Impossible d'ajouter plus de compte. Un client ne peut avoir plus de 2 comptes.", "OK");
- return;
- }
- account.Text = "Compte " + Convert.ToString(nbAccount);
- account.FontSize = 25;
- account.TextColor = Colors.DarkRed;
- ColumnDefinition col1 = new ColumnDefinition(GridLength.Star);
- ColumnDefinition col2 = new ColumnDefinition(GridLength.Star);
- RowDefinition row1 = new RowDefinition(GridLength.Auto);
- RowDefinition row2 = new RowDefinition(GridLength.Auto);
- gridAccount.RowDefinitions.Add(row1);
- gridAccount.RowDefinitions.Add(row2);
- gridAccount.ColumnDefinitions.Add(col1);
- gridAccount.ColumnDefinitions.Add(col2);
- balance.Text = "Solde";
- balance.FontSize = 16;
- balanceEntry.Placeholder = "Entrez le solde du compte";
- balanceEntry.Keyboard = Keyboard.Numeric;
- nameLabel.Text = "Nom du compte";
- nameLabel.FontSize = 16;
- nameEntry.Placeholder = "Entrez le nom du compte";
- iban.Text = "IBAN";
- iban.FontSize = 16;
- ibanEntry.Text = "FR";
- ibanEntry.TextChanged += IbanChanged;
- ibanEntry.Placeholder = "Entrez l'IBAN du compte";
- ibanEntry.Keyboard = Keyboard.Numeric;
- StackLayout.Add(account);
- gridAccount.SetColumn(balance, 0);
- gridAccount.SetRow(balance, 0);
- gridAccount.SetColumn(balanceEntry, 0);
- gridAccount.SetRow(balanceEntry, 1);
- gridAccount.SetColumn(nameLabel, 1);
- gridAccount.SetRow(nameLabel, 0);
- gridAccount.SetColumn(nameEntry, 1);
- gridAccount.SetColumn(nameEntry, 1);
- gridAccount.Children.Add(balance);
- gridAccount.Children.Add(balanceEntry);
- gridAccount.Children.Add(nameLabel);
- gridAccount.Children.Add(nameEntry);
- StackLayout.Add(gridAccount);
- StackLayout.Add(iban);
- StackLayout.Add(ibanEntry);
- }
+ ///
+ /// Gère l'événement du bouton d'ajout de compte.
+ ///
+ public void Account_Clicked(object sender, EventArgs e)
+ {
+ Account2 = true;
+ nbAccount++;
+
+ if (nbAccount >= 3)
+ {
+ DisplayAlert("Erreur", "Impossible d'ajouter plus de compte. Un client ne peut avoir plus de 2 comptes.", "OK");
+ return;
+ }
- public void IbanChanged(object sender, EventArgs e)
- {
- if(AccountIbanEntry.Text.Length < 2 || ibanEntry.Text.Length < 2)
- {
- DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
- var cast = ((Entry)sender);
- cast.Text = "FR";
- cast.CursorPosition = 3;
- }
- }
+ account.Text = "Compte " + Convert.ToString(nbAccount);
+ account.FontSize = 25;
+ account.TextColor = Colors.DarkRed;
+ ColumnDefinition col1 = new ColumnDefinition(GridLength.Star);
+ ColumnDefinition col2 = new ColumnDefinition(GridLength.Star);
+ RowDefinition row1 = new RowDefinition(GridLength.Auto);
+ RowDefinition row2 = new RowDefinition(GridLength.Auto);
+
+ gridAccount.RowDefinitions.Add(row1);
+ gridAccount.RowDefinitions.Add(row2);
+ gridAccount.ColumnDefinitions.Add(col1);
+ gridAccount.ColumnDefinitions.Add(col2);
+
+ balance.Text = "Solde";
+ balance.FontSize = 16;
+ balanceEntry.Placeholder = "Entrez le solde du compte";
+ balanceEntry.Keyboard = Keyboard.Numeric;
+
+ nameLabel.Text = "Nom du compte";
+ nameLabel.FontSize = 16;
+ nameEntry.Placeholder = "Entrez le nom du compte";
+
+ iban.Text = "IBAN";
+ iban.FontSize = 16;
+ ibanEntry.Text = "FR";
+ ibanEntry.TextChanged += IbanChanged;
+ ibanEntry.Placeholder = "Entrez l'IBAN du compte";
+ ibanEntry.Keyboard = Keyboard.Numeric;
+
+ StackLayout.Add(account);
+ gridAccount.SetColumn(balance, 0);
+ gridAccount.SetRow(balance, 0);
+ gridAccount.SetColumn(balanceEntry, 0);
+ gridAccount.SetRow(balanceEntry, 1);
+ gridAccount.SetColumn(nameLabel, 1);
+ gridAccount.SetRow(nameLabel, 0);
+ gridAccount.SetColumn(nameEntry, 1);
+ gridAccount.SetColumn(nameEntry, 1);
+
+ gridAccount.Children.Add(balance);
+ gridAccount.Children.Add(balanceEntry);
+ gridAccount.Children.Add(nameLabel);
+ gridAccount.Children.Add(nameEntry);
+
+ StackLayout.Add(gridAccount);
+ StackLayout.Add(iban);
+ StackLayout.Add(ibanEntry);
+ }
+
+ ///
+ /// Gère l'événement de modification de l'IBAN.
+ ///
+ public void IbanChanged(object sender, EventArgs e)
+ {
+ if (AccountIbanEntry.Text.Length < 2 || ibanEntry.Text.Length < 2)
+ {
+ DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
+ var cast = ((Entry)sender);
+ cast.Text = "FR";
+ cast.CursorPosition = 3;
+ }
+ }
+ }
}
diff --git a/src/Banquale/Banquale/Views/HelpPage.xaml.cs b/src/Banquale/Banquale/Views/HelpPage.xaml.cs
index 170bf80..0526a04 100644
--- a/src/Banquale/Banquale/Views/HelpPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/HelpPage.xaml.cs
@@ -1,27 +1,45 @@
using Model;
+
namespace Banquale.Views;
+///
+/// Page d'aide permettant aux utilisateurs d'envoyer des messages de demande d'aide.
+///
public partial class HelpPage : ContentPage
{
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application.
+ ///
public Manager Mgr => (App.Current as App).MyManager;
- public HelpPage()
- {
- InitializeComponent();
- }
+ ///
+ /// Initialise une nouvelle instance de la classe HelpPage.
+ ///
+ public HelpPage()
+ {
+ InitializeComponent();
+ }
+
+ ///
+ /// Gère l'événement du bouton d'envoi.
+ ///
public async void Send_Clicked(Object sender, EventArgs e)
{
- if(Subject.Text.Length >= 50 || Description.Text.Length >= 200)
+ if (Subject.Text.Length >= 50 || Description.Text.Length >= 200)
{
- await DisplayAlert("Erreur", "Trop de caracteres", "OK");
+ await DisplayAlert("Erreur", "Trop de caractères", "OK");
}
else
{
+ // Crée un nouveau message de demande d'aide
Message message = Account.AskForHelp(Subject.Text, Description.Text);
+
+ // Ajoute le message à la liste des messages du consultant
Mgr.Consultant.MessagesList.Add(message);
+
+ // Navigue vers la page de solde
await Shell.Current.GoToAsync("//balance");
}
-
}
-
}
+
diff --git a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
index ffc7549..8376f96 100644
--- a/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/MessageListPage.xaml.cs
@@ -1,18 +1,31 @@
-using System.Diagnostics;
-using System.Runtime.Serialization.DataContracts;
+using System.Diagnostics;
+using System.Runtime.Serialization.DataContracts;
using Model;
-namespace Banquale.Views;
-
-public partial class MessageListPage : ContentPage
+namespace Banquale.Views
{
- public Manager Mgr => (App.Current as App).MyManager;
+ ///
+ /// Page affichant la liste des messages.
+ ///
+ public partial class MessageListPage : ContentPage
+ {
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application.
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ ///
+ /// Initialise une nouvelle instance de la classe MessageListPage.
+ ///
+ public MessageListPage()
+ {
+ // Affiche le sujet du premier message dans les logs de débogage
+ Debug.WriteLine(Mgr.Consultant.MessagesList[0].Subject);
+
+ // Lie le contexte de liaison au gestionnaire
+ BindingContext = Mgr;
- public MessageListPage()
- {
- Debug.WriteLine(Mgr.Consultant.MessagesList[0].Subject);
- BindingContext = Mgr;
- InitializeComponent();
-
+ InitializeComponent();
+ }
}
}
diff --git a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
index d76f5e1..ccaa2cd 100644
--- a/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/SwitchAccountPage.xaml.cs
@@ -1,62 +1,84 @@
-using System.Diagnostics;
-using Banquale.Views.Balance;
+using System.Diagnostics;
+using Banquale.Views.Balance;
using Model;
-namespace Banquale.Views;
-
-public partial class SwitchAccountPage : ContentPage
+namespace Banquale.Views
{
+ ///
+ /// Page permettant de basculer entre les comptes.
+ ///
+ public partial class SwitchAccountPage : ContentPage
+ {
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application (Manager Mgr).
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
- public Manager Mgr => (App.Current as App).MyManager;
- public SwitchAccountPage()
- {
- InitializeComponent();
- BindingContext = Mgr.SelectedCustomer;
- }
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
-
- RefreshData();
- }
+ ///
+ /// Initialise une nouvelle instance de la classe SwitchAccountPage.
+ ///
+ public SwitchAccountPage()
+ {
+ InitializeComponent();
- public async void Transfer_Clicked(object sender, EventArgs e)
- {
- var selectedItem = (sender as Button)?.BindingContext as Account;
-
- if (selectedItem != null)
- {
- Mgr.SelectedAccount = selectedItem;
- if (Mgr.IsConsultant == true)
- {
- await Shell.Current.Navigation.PushAsync(new Balance.BalancePage());
- }
- else
- {
- await Shell.Current.GoToAsync("//balance");
- var balancePage = Shell.Current.CurrentPage as BalancePage;
- balancePage?.RefreshPage();
- }
+ // Lie le contexte de liaison au client sélectionné dans le Manager
+ BindingContext = Mgr.SelectedCustomer;
}
-
- }
- async void DisconnectionClicked(object sender, EventArgs e)
- {
- if(Mgr.IsConsultant == true)
+ ///
+ /// Méthode appelée lorsque la page apparaît.
+ ///
+ protected override void OnAppearing()
{
- await Shell.Current.Navigation.PopAsync();
+ base.OnAppearing();
+
+ RefreshData();
}
- else
+
+ ///
+ /// Gère l'événement du bouton de transfert.
+ ///
+ public async void Transfer_Clicked(object sender, EventArgs e)
{
- await Shell.Current.GoToAsync("///connection");
+ var selectedItem = (sender as Button)?.BindingContext as Account;
+
+ if (selectedItem != null)
+ {
+ Mgr.SelectedAccount = selectedItem;
+ if (Mgr.IsConsultant)
+ {
+ await Shell.Current.Navigation.PushAsync(new Balance.BalancePage());
+ }
+ else
+ {
+ await Shell.Current.GoToAsync("//balance");
+ var balancePage = Shell.Current.CurrentPage as BalancePage;
+ balancePage?.RefreshPage();
+ }
+ }
}
- }
+ ///
+ /// Gère l'événement du bouton de déconnexion.
+ ///
+ async void DisconnectionClicked(object sender, EventArgs e)
+ {
+ if (Mgr.IsConsultant)
+ {
+ await Shell.Current.Navigation.PopAsync();
+ }
+ else
+ {
+ await Shell.Current.GoToAsync("///connection");
+ }
+ }
- private void RefreshData()
- {
- BindingContext = Mgr.SelectedCustomer;
+ ///
+ /// Rafraîchit les données de la page.
+ ///
+ private void RefreshData()
+ {
+ BindingContext = Mgr.SelectedCustomer;
+ }
}
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Banquale/Views/TransactionsPage.xaml.cs b/src/Banquale/Banquale/Views/TransactionsPage.xaml.cs
index f541b71..9405dd7 100644
--- a/src/Banquale/Banquale/Views/TransactionsPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/TransactionsPage.xaml.cs
@@ -1,82 +1,104 @@
using Model;
using Banquale.Views.Category;
-namespace Banquale.Views;
-public partial class TransactionsPage : ContentPage
+namespace Banquale.Views
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public TransactionsPage()
- {
- InitializeComponent();
- BindingContext = Mgr.SelectedTransaction;
+ ///
+ /// Page affichant le détail d'une transaction.
+ ///
+ public partial class TransactionsPage : ContentPage
+ {
+ ///
+ /// Obtient le gestionnaire de l'application à partir de l'instance de l'application (Manager Mgr).
+ ///
+ public Manager Mgr => (App.Current as App).MyManager;
- if(Mgr.IsConsultant == true && Mgr.SelectedTransaction.IsOpposition == false)
- {
- oppose.Text = "Aucune demande en cours";
- }
- else if(Mgr.IsConsultant == true && Mgr.SelectedTransaction.IsOpposition == true)
+ ///
+ /// Initialise une nouvelle instance de la classe TransactionsPage.
+ ///
+ public TransactionsPage()
{
- oppose.Text = "Accepter l'opposition";
- refuseOpposition.IsVisible = true;
- }
-
- if(Mgr.IsConsultant == false && Mgr.SelectedTransaction.IsOpposition == true)
- {
- oppose.Text = "Demande en cours";
- }
+ InitializeComponent();
- if(Mgr.SelectedTransaction.Type == true)
- {
- string price1 = sum.Text;
- sum.Text = "- " + price1;
- sum.TextColor = Colors.Red;
- }
- else if(Mgr.SelectedTransaction.Type == false)
- {
- string price2 = sum.Text;
- sum.Text = "+ " + price2;
- sum.TextColor = Colors.Green;
- }
- }
+ // Lie le contexte de liaison aux transactions sélectionnées dans le gestionnaire
+ BindingContext = Mgr.SelectedTransaction;
- async void Categ_Clicked(System.Object sender, System.EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new CategoryPage());
- }
+ // Configure l'affichage en fonction des conditions
+ if (Mgr.IsConsultant && !Mgr.SelectedTransaction.IsOpposition)
+ {
+ oppose.Text = "Aucune demande en cours";
+ }
+ else if (Mgr.IsConsultant && Mgr.SelectedTransaction.IsOpposition)
+ {
+ oppose.Text = "Accepter l'opposition";
+ refuseOpposition.IsVisible = true;
+ }
- async void Objection_Clicked(System.Object sender, System.EventArgs e)
- {
- if(Mgr.IsConsultant == false && Mgr.SelectedTransaction.IsOpposition == false)
- {
- Mgr.SelectedTransaction.IsOpposition = true;
- await DisplayAlert("Opposition", "Votre demande d'opposition à bien été pris en compte", "OK");
- await Shell.Current.Navigation.PopAsync();
+ if (!Mgr.IsConsultant && Mgr.SelectedTransaction.IsOpposition)
+ {
+ oppose.Text = "Demande en cours";
+ }
+
+ if (Mgr.SelectedTransaction.Type)
+ {
+ string price1 = sum.Text;
+ sum.Text = "- " + price1;
+ sum.TextColor = Colors.Red;
+ }
+ else if (!Mgr.SelectedTransaction.Type)
+ {
+ string price2 = sum.Text;
+ sum.Text = "+ " + price2;
+ sum.TextColor = Colors.Green;
+ }
}
- else if(Mgr.IsConsultant == true && Mgr.SelectedTransaction.IsOpposition == true)
+
+ ///
+ /// Gère l'événement du bouton de la catégorie.
+ ///
+ async void Categ_Clicked(System.Object sender, System.EventArgs e)
{
- Mgr.SelectedAccount.TransactionsList.Remove(Mgr.SelectedTransaction);
- await DisplayAlert("Opposition", "La demande d'opposition à été réalisé avec succé", "OK");
- await Shell.Current.Navigation.PopAsync();
+ await Shell.Current.Navigation.PushAsync(new CategoryPage());
}
- else if (Mgr.IsConsultant == true && Mgr.SelectedTransaction.IsOpposition == false)
+
+ ///
+ /// Gère l'événement du bouton d'opposition.
+ ///
+ async void Objection_Clicked(System.Object sender, System.EventArgs e)
{
- await DisplayAlert("Erreur", "Aucune demande d'opposition est en cours sur cette transaction", "OK");
- await Shell.Current.Navigation.PopAsync();
+ if (!Mgr.IsConsultant && !Mgr.SelectedTransaction.IsOpposition)
+ {
+ Mgr.SelectedTransaction.IsOpposition = true;
+ await DisplayAlert("Opposition", "Votre demande d'opposition a bien été prise en compte", "OK");
+ await Shell.Current.Navigation.PopAsync();
+ }
+ else if (Mgr.IsConsultant && Mgr.SelectedTransaction.IsOpposition)
+ {
+ Mgr.SelectedAccount.TransactionsList.Remove(Mgr.SelectedTransaction);
+ await DisplayAlert("Opposition", "La demande d'opposition a été réalisée avec succès", "OK");
+ await Shell.Current.Navigation.PopAsync();
+ }
+ else if (Mgr.IsConsultant && !Mgr.SelectedTransaction.IsOpposition)
+ {
+ await DisplayAlert("Erreur", "Aucune demande d'opposition en cours pour cette transaction", "OK");
+ await Shell.Current.Navigation.PopAsync();
+ }
+ else if (!Mgr.IsConsultant && Mgr.SelectedTransaction.IsOpposition)
+ {
+ await DisplayAlert("Opposition", "Votre demande est en cours. Veuillez patienter SVP.", "OK");
+ await Shell.Current.Navigation.PopAsync();
+ }
}
- else if (Mgr.IsConsultant == false && Mgr.SelectedTransaction.IsOpposition == true)
+
+ ///
+ /// Gère l'événement du bouton de refus d'opposition du coté du consultant.
+ ///
+ async void Refuse_Clicked(System.Object sender, System.EventArgs e)
{
- await DisplayAlert("Opposition", "Votre demande est en cours. Veuillez patienter SVP.", "OK");
+ Mgr.SelectedTransaction.IsOpposition = false;
+ await DisplayAlert("Opposition", "La demande d'opposition a bien été refusée", "OK");
+ refuseOpposition.IsVisible = false;
await Shell.Current.Navigation.PopAsync();
}
-
- }
-
- async void Refuse_Clicked(System.Object sender, System.EventArgs e)
- {
- Mgr.SelectedTransaction.IsOpposition = false;
- await DisplayAlert("Opposition", "La demande d'opposition à bien été refusé", "OK");
- refuseOpposition.IsVisible = false;
- await Shell.Current.Navigation.PopAsync();
}
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Banquale/Views/Transfer/MenuTransferPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/MenuTransferPage.xaml.cs
index 0831b73..470c0bd 100644
--- a/src/Banquale/Banquale/Views/Transfer/MenuTransferPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Transfer/MenuTransferPage.xaml.cs
@@ -1,25 +1,40 @@
-namespace Banquale.Views.Transfer;
-
-public partial class MenuTransferPage : ContentPage
+namespace Banquale.Views.Transfer
{
- public MenuTransferPage()
- {
- InitializeComponent();
- }
-
- public async void RIB_Clicked(object sender, EventArgs e)
+ ///
+ /// Page de menu pour les transferts.
+ ///
+ public partial class MenuTransferPage : ContentPage
{
- await Shell.Current.Navigation.PushAsync(new RibPage());
- }
+ ///
+ /// Initialise une nouvelle instance de la classe MenuTransferPage.
+ ///
+ public MenuTransferPage()
+ {
+ InitializeComponent();
+ }
- public async void Request_Clicked(object sender, EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new RequestPage());
- }
+ ///
+ /// Gère l'événement du bouton "RIB".
+ ///
+ public async void RIB_Clicked(object sender, EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new RibPage());
+ }
- public async void Transfer_Clicked(object sender, EventArgs e)
- {
- await Shell.Current.Navigation.PushAsync(new TransferPage());
- }
+ ///
+ /// Gère l'événement du bouton "Demande".
+ ///
+ public async void Request_Clicked(object sender, EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new RequestPage());
+ }
+ ///
+ /// Gère l'événement du bouton "Transfert".
+ ///
+ public async void Transfer_Clicked(object sender, EventArgs e)
+ {
+ await Shell.Current.Navigation.PushAsync(new TransferPage());
+ }
+ }
}
diff --git a/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs
index e271cb2..ff42e04 100644
--- a/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Transfer/RequestPage.xaml.cs
@@ -1,62 +1,79 @@
using Model;
using Microsoft.Maui.Controls;
-namespace Banquale.Views.Transfer;
-
-public partial class RequestPage : ContentPage
+namespace Banquale.Views.Transfer
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public RequestPage()
- {
- InitializeComponent();
- }
-
- public async void Send_Clicked(Object sender, EventArgs e)
+ ///
+ /// Page de demande de virement.
+ ///
+ public partial class RequestPage : ContentPage
{
+ public Manager Mgr => (App.Current as App).MyManager;
- if (string.IsNullOrEmpty(Name.Text) || string.IsNullOrEmpty(IBAN.Text) || string.IsNullOrEmpty(Sum.Text))
- {
- await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
- return;
- }
- else if(IBAN.Text.Length != 27)
+ ///
+ /// Initialise une nouvelle instance de la classe RequestPage.
+ ///
+ public RequestPage()
{
- await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
+ InitializeComponent();
}
- if (Name.Text == Mgr.SelectedAccount.Name && IBAN.Text == Mgr.SelectedAccount.IBAN)
- {
- await DisplayAlert("Erreur", "Vous ne pouvez vous faire de demande à vous même", "OK");
- return;
- }
- foreach (var cust in Mgr.CustomersList)
+
+ ///
+ /// Gère l'événement du bouton d'envoi de la demande de virement.
+ ///
+ public async void Send_Clicked(Object sender, EventArgs e)
{
- foreach (var acc in cust.AccountsList)
+ if (string.IsNullOrEmpty(Name.Text) || string.IsNullOrEmpty(IBAN.Text) || string.IsNullOrEmpty(Sum.Text))
{
- if (acc.Name == Name.Text && acc.IBAN == IBAN.Text)
+ await DisplayAlert("Erreur", "Tous les champs doivent être complétés", "OK");
+ return;
+ }
+ else if (IBAN.Text.Length != 27)
+ {
+ await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
+ return;
+ }
+
+ if (Name.Text == Mgr.SelectedAccount.Name && IBAN.Text == Mgr.SelectedAccount.IBAN)
+ {
+ await DisplayAlert("Erreur", "Vous ne pouvez pas effectuer une demande de virement à votre propre compte", "OK");
+ return;
+ }
+
+ foreach (var cust in Mgr.CustomersList)
+ {
+ foreach (var acc in cust.AccountsList)
{
- if (acc.Balance - Convert.ToDouble(Sum.Text) < 0)
+ if (acc.Name == Name.Text && acc.IBAN == IBAN.Text)
{
- await DisplayAlert("Erreur", "Le compte ne possède assez d'argent sur son compte pour aboutir à la transaction", "OK");
+ if (acc.Balance - Convert.ToDouble(Sum.Text) < 0)
+ {
+ await DisplayAlert("Erreur", "Le compte ne possède pas suffisamment d'argent pour effectuer la transaction", "OK");
+ return;
+ }
+
+ acc.DoTransactions(Mgr.SelectedAccount, Convert.ToDouble(Sum.Text), true); // Type true car c'est un virement que le SelectedAccount reçoit
+ Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
+ await Shell.Current.Navigation.PopAsync();
return;
}
- acc.DoTransactions(Mgr.SelectedAccount, Convert.ToDouble(Sum.Text), true); // Type true car c'est un virement que le SelectedAccount reçoit
- Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
- await Shell.Current.Navigation.PopAsync();
- return;
}
}
+
+ await DisplayAlert("Erreur", "Le compte n'existe pas", "OK");
}
- await DisplayAlert("Erreur", "Le compte n'existe pas", "OK");
- }
- public void IbanChanged(object sender, EventArgs e)
- {
- if (IBAN.Text.Length < 2)
+ ///
+ /// Gère l'événement de modification de l'Entry de l'IBAN.
+ ///
+ public void IbanChanged(object sender, EventArgs e)
{
- DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
- var cast = ((Entry)sender);
- cast.Text = "FR";
+ if (IBAN.Text.Length < 2)
+ {
+ DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
+ var cast = ((Entry)sender);
+ cast.Text = "FR";
+ }
}
}
}
diff --git a/src/Banquale/Banquale/Views/Transfer/RibPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/RibPage.xaml.cs
index 61771ee..729b5a4 100644
--- a/src/Banquale/Banquale/Views/Transfer/RibPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Transfer/RibPage.xaml.cs
@@ -1,14 +1,21 @@
using Model;
-namespace Banquale.Views.Transfer;
-
-public partial class RibPage : ContentPage
+namespace Banquale.Views.Transfer
{
- public Manager Mgr => (App.Current as App).MyManager;
+ ///
+ /// Page d'affichage du RIB.
+ ///
+ public partial class RibPage : ContentPage
+ {
+ public Manager Mgr => (App.Current as App).MyManager;
- public RibPage()
- {
- InitializeComponent();
- BindingContext = Mgr;
+ ///
+ /// Initialise une nouvelle instance de la classe RibPage.
+ ///
+ public RibPage()
+ {
+ InitializeComponent();
+ BindingContext = Mgr;
+ }
}
}
diff --git a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs
index acb0f87..a792040 100644
--- a/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs
+++ b/src/Banquale/Banquale/Views/Transfer/TransferPage.xaml.cs
@@ -1,61 +1,74 @@
using Model;
using System.Linq;
-namespace Banquale.Views.Transfer;
-public partial class TransferPage : ContentPage
+namespace Banquale.Views.Transfer
{
- public Manager Mgr => (App.Current as App).MyManager;
-
- public TransferPage()
- {
- InitializeComponent();
- }
-
- public async void Send_Clicked(Object sender, EventArgs e)
+ ///
+ /// Page de transfert d'argent.
+ ///
+ public partial class TransferPage : ContentPage
{
+ public Manager Mgr => (App.Current as App).MyManager;
- if (string.IsNullOrEmpty(Name.Text) || string.IsNullOrEmpty(IBAN.Text) || string.IsNullOrEmpty(Sum.Text))
+ ///
+ /// Initialise une nouvelle instance de la classe TransferPage.
+ ///
+ public TransferPage()
{
- await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
- return;
+ InitializeComponent();
}
- else if (IBAN.Text.Length != 27)
- {
- await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
- }
- if(Name.Text == Mgr.SelectedAccount.Name && IBAN.Text == Mgr.SelectedAccount.IBAN)
- {
- await DisplayAlert("Erreur", "Vous ne pouvez vous faire de virement à vous même", "OK");
- return;
- }
- foreach (var cust in Mgr.CustomersList)
+
+ ///
+ /// Gère l'événement du bouton d'envoi de transfert.
+ ///
+ public async void Send_Clicked(Object sender, EventArgs e)
{
- foreach (var acc in cust.AccountsList)
+ if (string.IsNullOrEmpty(Name.Text) || string.IsNullOrEmpty(IBAN.Text) || string.IsNullOrEmpty(Sum.Text))
+ {
+ await DisplayAlert("Erreur", "Tous les champs doivent être complétés", "OK");
+ return;
+ }
+ else if (IBAN.Text.Length != 27)
{
- if(acc.Name == Name.Text && acc.IBAN == IBAN.Text)
+ await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
+ }
+ if (Name.Text == Mgr.SelectedAccount.Name && IBAN.Text == Mgr.SelectedAccount.IBAN)
+ {
+ await DisplayAlert("Erreur", "Vous ne pouvez pas vous faire un virement à vous-même", "OK");
+ return;
+ }
+ foreach (var cust in Mgr.CustomersList)
+ {
+ foreach (var acc in cust.AccountsList)
{
- if(Mgr.SelectedAccount.Balance - Convert.ToDouble(Sum.Text) < 0)
+ if (acc.Name == Name.Text && acc.IBAN == IBAN.Text)
{
- await DisplayAlert("Erreur", "Vous ne possèdez pas assez d'argent sur ce compte pour aboutir à la transaction", "OK");
+ if (Mgr.SelectedAccount.Balance - Convert.ToDouble(Sum.Text) < 0)
+ {
+ await DisplayAlert("Erreur", "Vous ne possédez pas suffisamment d'argent sur ce compte pour effectuer la transaction", "OK");
+ return;
+ }
+ Mgr.SelectedAccount.DoTransactions(acc, Convert.ToDouble(Sum.Text), true); // Type true car c'est un virement
+ Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
+ await Shell.Current.Navigation.PopAsync();
return;
}
- Mgr.SelectedAccount.DoTransactions(acc, Convert.ToDouble(Sum.Text), true); // Type true car c'est un virement
- Mgr.Persistence.DataSave(Mgr.CustomersList, Mgr.Consultant);
- await Shell.Current.Navigation.PopAsync();
- return;
}
}
+ await DisplayAlert("Erreur", "Le compte n'existe pas", "OK");
}
- await DisplayAlert("Erreur", "Le compte n'existe pas", "OK");
- }
- public void IbanChanged(object sender, EventArgs e)
- {
- if (IBAN.Text.Length < 2)
+ ///
+ /// Gère l'événement du changement de l'IBAN.
+ ///
+ public void IbanChanged(object sender, EventArgs e)
{
- DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
- var cast = ((Entry)sender);
- cast.Text = "FR";
+ if (IBAN.Text.Length < 2)
+ {
+ DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
+ var cast = ((Entry)sender);
+ cast.Text = "FR";
+ }
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Banquale/Model/Account.cs b/src/Banquale/Model/Account.cs
index acc304b..03b2e25 100644
--- a/src/Banquale/Model/Account.cs
+++ b/src/Banquale/Model/Account.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Account.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;
@@ -109,15 +109,15 @@ namespace Model
/// Obtient ou définit la liste des transactions effectuées sur le compte.
///
[DataMember(Order = 5)]
- public ObservableCollection TransactionsList
+ public ObservableCollection TransactionsList
{
get => transactionsList;
set
{
transactionsList = value;
OnPropertyChanged(nameof(TransactionsList));
- }
- }
+ }
+ }
private ObservableCollection transactionsList;
diff --git a/src/Banquale/Model/Consultant.cs b/src/Banquale/Model/Consultant.cs
index 67b47a6..e55d0a1 100644
--- a/src/Banquale/Model/Consultant.cs
+++ b/src/Banquale/Model/Consultant.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Consultant.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Runtime.Serialization;
diff --git a/src/Banquale/Model/Customer.cs b/src/Banquale/Model/Customer.cs
index 5ad9c2f..c26c1e2 100644
--- a/src/Banquale/Model/Customer.cs
+++ b/src/Banquale/Model/Customer.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Customer.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;
diff --git a/src/Banquale/Model/IPersistenceManager.cs b/src/Banquale/Model/IPersistenceManager.cs
index eeafcfc..0233b44 100644
--- a/src/Banquale/Model/IPersistenceManager.cs
+++ b/src/Banquale/Model/IPersistenceManager.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de l'interface IPersistenceManager.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;
@@ -15,7 +15,7 @@ namespace Model
///
/// Charge les données depuis une source de persistance.
///
- /// Un tuple contenant lle hashSet des clients et le consultant.
+ /// Un tuple contenant le hashSet des clients et le consultant.
public (HashSet, Consultant) DataLoad();
///
diff --git a/src/Banquale/Model/Manager.cs b/src/Banquale/Model/Manager.cs
index 9024a63..91a0f7b 100644
--- a/src/Banquale/Model/Manager.cs
+++ b/src/Banquale/Model/Manager.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Manager.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;
@@ -16,11 +16,11 @@ namespace Model
///
[DataContract]
public class Manager : INotifyPropertyChanged
- {
+ {
public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string? propertyName = null)
- => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
///
/// Liste des clients gérés par le gestionnaire.
@@ -28,7 +28,7 @@ namespace Model
[DataMember]
public HashSet CustomersList { get; private set; }
- public ObservableCollection CategoryList { get; private set; } = new ObservableCollection {"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.
@@ -102,10 +102,10 @@ namespace Model
///
/// Gestionnaire de persistance.
public Manager(IPersistenceManager persistence)
- {
+ {
CustomersList = new HashSet();
- Persistence = persistence;
- }
+ Persistence = persistence;
+ }
///
/// Constructeur du gestionnaire sans gestionnaire de persistance.
@@ -138,10 +138,10 @@ namespace Model
/// Charge les données depuis la source de persistance.
///
public void DataLoad()
- {
- var data = Persistence.DataLoad();
+ {
+ var data = Persistence.DataLoad();
- CustomersList =data.Item1;
+ CustomersList = data.Item1;
Consultant = data.Item2;
}
diff --git a/src/Banquale/Model/Message.cs b/src/Banquale/Model/Message.cs
index 205a296..5a9fc35 100644
--- a/src/Banquale/Model/Message.cs
+++ b/src/Banquale/Model/Message.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Message.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.ComponentModel;
@@ -38,8 +38,6 @@ namespace Model
private string subject;
-
-
///
/// Description du message.
///
@@ -56,6 +54,7 @@ namespace Model
}
private string description;
+
///
/// Constructeur de la classe Message.
///
diff --git a/src/Banquale/Model/Person.cs b/src/Banquale/Model/Person.cs
index 59e8a59..837fa39 100644
--- a/src/Banquale/Model/Person.cs
+++ b/src/Banquale/Model/Person.cs
@@ -1,6 +1,6 @@
/// \file
/// \brief Définition de la classe Person.
-/// \author Votre nom
+/// \author PEREDERII Antoine, LOUVET Titouan
using System;
using System.Collections.Generic;
diff --git a/src/Banquale/Model/Transaction.cs b/src/Banquale/Model/Transaction.cs
index 19bf44c..6fa79da 100644
--- a/src/Banquale/Model/Transaction.cs
+++ b/src/Banquale/Model/Transaction.cs
@@ -1,4 +1,9 @@
-using System.ComponentModel;
+/// \file
+/// \brief Définition de la classe Message.
+/// \author PEREDERII Antoine, LOUVET Titouan
+
+
+using System.ComponentModel;
using System.Runtime.Serialization;
namespace Model