fix conflict

pull/69/head
Titouan LOUVET 2 years ago
commit 1932efa190

@ -22,10 +22,5 @@ public partial class App : Application
MainPage = new AppShell(); MainPage = new AppShell();
//MyManager.SelectedTransaction = MyManager.CustomersList[0].AccountsList[0].TransactionsList[0];
//MainPage = new Views.TransactionsPage();
} }
} }

@ -13,18 +13,6 @@ public partial class AppShell : Shell
public AppShell() public AppShell()
{ {
InitializeComponent(); InitializeComponent();
//RegisterRoutes();
}
private void RegisterRoutes()
{
Routing.RegisterRoute("balance/categorydetails", typeof(CategoryPage));
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));
} }
} }

@ -14,7 +14,7 @@ public partial class CreateCustomerPage : ContentPage
InitializeComponent(); InitializeComponent();
} }
public void Create_Customer_Clicked(System.Object sender, System.EventArgs e) public async void Create_Customer_Clicked(System.Object sender, System.EventArgs e)
{ {
string name = NameEntry.Text; string name = NameEntry.Text;
string firstName = FirstNameEntry.Text; string firstName = FirstNameEntry.Text;
@ -27,7 +27,11 @@ public partial class CreateCustomerPage : ContentPage
|| double.IsNegative(accountBalance) || string.IsNullOrWhiteSpace(accountName) || double.IsNegative(accountBalance) || string.IsNullOrWhiteSpace(accountName)
|| string.IsNullOrWhiteSpace(accountIban) || string.IsNullOrWhiteSpace(AccountBalanceEntry.Text)) || string.IsNullOrWhiteSpace(accountIban) || string.IsNullOrWhiteSpace(AccountBalanceEntry.Text))
{ {
DisplayAlert("Erreur", "Tous les champs doivent être renseignés et corect (pas de solde négatif)", "OK"); await DisplayAlert("Erreur", "Tous les champs doivent être renseignés et corect (pas de solde négatif)", "OK");
}
else if(AccountIbanEntry.Text.Length != 27)
{
await DisplayAlert("Erreur", "L'IBAN doit contenir exactement 25 chiffres.", "OK");
} }
else else
{ {
@ -38,8 +42,8 @@ public partial class CreateCustomerPage : ContentPage
Debug.WriteLine(customer.Id); Debug.WriteLine(customer.Id);
Debug.WriteLine(customer.Password); Debug.WriteLine(customer.Password);
Debug.WriteLine(account.IBAN); Debug.WriteLine(account.IBAN);
DisplayAlert("Création", "Client " + customer.Name +" crée avec succès.", "OK"); await DisplayAlert("Création", "Client " + customer.Name +" crée avec succès.", "OK");
Shell.Current.Navigation.PopAsync(); await Shell.Current.Navigation.PopAsync();
} }
} }
@ -99,8 +103,6 @@ public partial class CreateCustomerPage : ContentPage
DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK"); DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
var cast = ((Entry)sender); var cast = ((Entry)sender);
cast.Text = "FR"; cast.Text = "FR";
// cast.CursorPosition = 13;
//cast.SelectionLength = 10;
} }
} }

@ -30,6 +30,7 @@
Placeholder="IBAN (FR)" Placeholder="IBAN (FR)"
HorizontalOptions="Center" HorizontalOptions="Center"
WidthRequest="280" WidthRequest="280"
TextChanged="IbanChanged"
x:Name="IBAN" x:Name="IBAN"
Keyboard="Numeric"/> Keyboard="Numeric"/>

@ -20,6 +20,10 @@ public partial class RequestPage : ContentPage
await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK"); await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
return; return;
} }
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) 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"); await DisplayAlert("Erreur", "Vous ne pouvez vous faire de demande à vous même", "OK");
@ -45,4 +49,14 @@ public partial class RequestPage : ContentPage
} }
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)
{
DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
var cast = ((Entry)sender);
cast.Text = "FR";
}
}
} }

@ -30,6 +30,7 @@
Placeholder="IBAN" Placeholder="IBAN"
HorizontalOptions="Center" HorizontalOptions="Center"
WidthRequest="280" WidthRequest="280"
TextChanged="IbanChanged"
x:Name="IBAN" x:Name="IBAN"
Keyboard="Numeric"/> Keyboard="Numeric"/>

@ -5,6 +5,7 @@ namespace Banquale.Views.Transfer;
public partial class TransferPage : ContentPage public partial class TransferPage : ContentPage
{ {
public Manager Mgr => (App.Current as App).MyManager; public Manager Mgr => (App.Current as App).MyManager;
public TransferPage() public TransferPage()
{ {
InitializeComponent(); InitializeComponent();
@ -18,6 +19,10 @@ public partial class TransferPage : ContentPage
await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK"); await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
return; return;
} }
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) 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"); await DisplayAlert("Erreur", "Vous ne pouvez vous faire de virement à vous même", "OK");
@ -44,4 +49,13 @@ public partial class TransferPage : ContentPage
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)
{
DisplayAlert("Erreur", "Vous ne pouvez pas effacer le FR !", "OK");
var cast = ((Entry)sender);
cast.Text = "FR";
}
}
} }

@ -39,7 +39,7 @@ namespace UnitTest
// Effectuer une transaction entre les comptes // Effectuer une transaction entre les comptes
double amount = 200; double amount = 200;
Console.WriteLine($"\nEffectuer une transaction de {amount} du compte 1 vers le compte 2..."); Console.WriteLine($"\nEffectuer une transaction de {amount} du compte 1 vers le compte 2...");
account1.DoTransactions(account2, amount, true, 1); account1.DoTransactions(account2, amount, true);
// Affichage des informations des comptes après la transaction // Affichage des informations des comptes après la transaction
Console.WriteLine("\nAprès la transaction:"); Console.WriteLine("\nAprès la transaction:");

@ -1,81 +1,81 @@
using System; //using System;
using Model; //using Model;
namespace UnitTest //namespace UnitTest
{ //{
/// \file // /// \file
/// \brief Fichier de tests pour l'interface IPersistenceManager. // /// \brief Fichier de tests pour l'interface IPersistenceManager.
/// \author Votre nom // /// \author Votre nom
/// <summary> // /// <summary>
/// Classe de tests pour l'interface IPersistenceManager. // /// Classe de tests pour l'interface IPersistenceManager.
/// </summary> // /// </summary>
public class PersistenceManagerTests // public class PersistenceManagerTests
{ // {
/// <summary> // /// <summary>
/// Teste la sauvegarde des données. // /// Teste la sauvegarde des données.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void DataSave_ValidData_CallsDataSave() // public void DataSave_ValidData_CallsDataSave()
{ // {
// Arrange // // Arrange
MockPersistenceManager persistenceManager = new MockPersistenceManager(); // MockPersistenceManager persistenceManager = new MockPersistenceManager();
List<Customer> customersList = new List<Customer> { new Customer("Doe", "John", "123456") }; // List<Customer> customersList = new List<Customer> { new Customer("Doe", "John", "123456") };
Consultant consultant = new Consultant("Smith", "Jane", "abcdef"); // Consultant consultant = new Consultant("Smith", "Jane", "abcdef");
// Act // // Act
persistenceManager.DataSave(customersList, consultant); // persistenceManager.DataSave(customersList, consultant);
// Assert // // Assert
Assert.True(persistenceManager.DataSaveCalled); // Assert.True(persistenceManager.DataSaveCalled);
Assert.Equal(customersList, persistenceManager.SavedCustomersList); // Assert.Equal(customersList, persistenceManager.SavedCustomersList);
Assert.Equal(consultant, persistenceManager.SavedConsultant); // Assert.Equal(consultant, persistenceManager.SavedConsultant);
} // }
/// <summary> // /// <summary>
/// Teste le chargement des données. // /// Teste le chargement des données.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void DataLoad_CallsDataLoad_ReturnsData() // public void DataLoad_CallsDataLoad_ReturnsData()
{ // {
// Arrange // // Arrange
MockPersistenceManager persistenceManager = new MockPersistenceManager(); // MockPersistenceManager persistenceManager = new MockPersistenceManager();
List<Customer> customersList = new List<Customer> { new Customer("Doe", "John", "123456") }; // List<Customer> customersList = new List<Customer> { new Customer("Doe", "John", "123456") };
Consultant consultant = new Consultant("Smith", "Jane", "abcdef"); // Consultant consultant = new Consultant("Smith", "Jane", "abcdef");
persistenceManager.DataToLoad = (customersList, consultant); // persistenceManager.DataToLoad = (customersList, consultant);
// Act // // Act
var result = persistenceManager.DataLoad(); // var result = persistenceManager.DataLoad();
// Assert // // Assert
Assert.True(persistenceManager.DataLoadCalled); // Assert.True(persistenceManager.DataLoadCalled);
Assert.Equal(customersList, result.Item1); // Assert.Equal(customersList, result.Item1);
Assert.Equal(consultant, result.Item2); // Assert.Equal(consultant, result.Item2);
} // }
/// <summary> // /// <summary>
/// Classe de mock pour le gestionnaire de persistance. // /// Classe de mock pour le gestionnaire de persistance.
/// </summary> // /// </summary>
private class MockPersistenceManager : IPersistenceManager // private class MockPersistenceManager : IPersistenceManager
{ // {
public bool DataSaveCalled { get; private set; } // public bool DataSaveCalled { get; private set; }
public bool DataLoadCalled { get; private set; } // public bool DataLoadCalled { get; private set; }
public (List<Customer>, Consultant) DataToLoad { get; set; } // public (List<Customer>, Consultant) DataToLoad { get; set; }
public List<Customer>? SavedCustomersList { get; private set; } // public List<Customer>? SavedCustomersList { get; private set; }
public Consultant? SavedConsultant { get; private set; } // public Consultant? SavedConsultant { get; private set; }
public void DataSave(List<Customer> customersList, Consultant consultant) // public void DataSave(List<Customer> customersList, Consultant consultant)
{ // {
DataSaveCalled = true; // DataSaveCalled = true;
SavedCustomersList = customersList; // SavedCustomersList = customersList;
SavedConsultant = consultant; // SavedConsultant = consultant;
} // }
public (List<Customer>, Consultant) DataLoad() // public (List<Customer>, Consultant) DataLoad()
{ // {
DataLoadCalled = true; // DataLoadCalled = true;
return DataToLoad; // return DataToLoad;
} // }
} // }
} // }
} //}

@ -1,137 +1,137 @@
using System; //using System;
using Model; //using Model;
namespace UnitTest //namespace UnitTest
{ //{
/// \file // /// \file
/// \brief Fichier de tests pour la classe Manager. // /// \brief Fichier de tests pour la classe Manager.
/// \author Votre nom // /// \author Votre nom
/// <summary> // /// <summary>
/// Classe de tests pour la classe Manager. // /// Classe de tests pour la classe Manager.
/// </summary> // /// </summary>
public class ManagerTests // public class ManagerTests
{ // {
/// <summary> // /// <summary>
/// Teste si la liste des clients est initialisée correctement. // /// Teste si la liste des clients est initialisée correctement.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void Constructor_CustomersListInitialized() // public void Constructor_CustomersListInitialized()
{ // {
// Arrange // // Arrange
Manager manager = new Manager(); // Manager manager = new Manager();
// Act // // Act
// Assert // // Assert
Assert.NotNull(manager.CustomersList); // Assert.NotNull(manager.CustomersList);
Assert.Empty(manager.CustomersList); // Assert.Empty(manager.CustomersList);
} // }
/// <summary> // /// <summary>
/// Teste l'ajout d'un client à la liste des clients. // /// Teste l'ajout d'un client à la liste des clients.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void AddCustomer_ValidCustomer_ReturnsTrue() // public void AddCustomer_ValidCustomer_ReturnsTrue()
{ // {
// Arrange // // Arrange
Manager manager = new Manager(); // Manager manager = new Manager();
Customer customer = new Customer("Doe", "John", "123456"); // Customer customer = new Customer("Doe", "John", "123456");
// Act // // Act
bool result = manager.AddCustomer(customer); // bool result = manager.AddCustomer(customer);
// Assert // // Assert
Assert.True(result); // Assert.True(result);
Assert.Contains(customer, manager.CustomersList); // Assert.Contains(customer, manager.CustomersList);
} // }
/// <summary> // /// <summary>
/// Teste la récupération d'un client à partir de la liste des clients. // /// Teste la récupération d'un client à partir de la liste des clients.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void GetCustomer_ValidPosition_ReturnsCustomer() // public void GetCustomer_ValidPosition_ReturnsCustomer()
{ // {
// Arrange // // Arrange
Manager manager = new Manager(); // Manager manager = new Manager();
Customer customer1 = new Customer("Doe", "John", "123456"); // Customer customer1 = new Customer("Doe", "John", "123456");
Customer customer2 = new Customer("Smith", "Jane", "abcdef"); // Customer customer2 = new Customer("Smith", "Jane", "abcdef");
manager.AddCustomer(customer1); // manager.AddCustomer(customer1);
manager.AddCustomer(customer2); // manager.AddCustomer(customer2);
// Act // // Act
Customer result = manager.GetCustomer(1); // Customer result = manager.GetCustomer(1);
// Assert // // Assert
Assert.Equal(customer2, result); // Assert.Equal(customer2, result);
} // }
/// <summary> // /// <summary>
/// Teste la sauvegarde des données. // /// Teste la sauvegarde des données.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void DataSave_ValidData_CallsPersistenceManagerDataSave() // public void DataSave_ValidData_CallsPersistenceManagerDataSave()
{ // {
// Arrange // // Arrange
MockPersistenceManager persistenceManager = new MockPersistenceManager(); // MockPersistenceManager persistenceManager = new MockPersistenceManager();
Manager manager = new Manager(persistenceManager); // Manager manager = new Manager(persistenceManager);
Customer customer = new Customer("Doe", "John", "123456"); // Customer customer = new Customer("Doe", "John", "123456");
manager.AddCustomer(customer); // manager.AddCustomer(customer);
// Act // // Act
manager.DataSave(); // manager.DataSave();
// Assert // // Assert
Assert.True(persistenceManager.DataSaveCalled); // Assert.True(persistenceManager.DataSaveCalled);
Assert.Equal(manager.CustomersList, persistenceManager.SavedCustomersList); // Assert.Equal(manager.CustomersList, persistenceManager.SavedCustomersList);
Assert.Equal(manager.Consultant, persistenceManager.SavedConsultant); // Assert.Equal(manager.Consultant, persistenceManager.SavedConsultant);
} // }
/// <summary> // /// <summary>
/// Teste le chargement des données. // /// Teste le chargement des données.
/// </summary> // /// </summary>
[Fact] // [Fact]
public void DataLoad_ValidData_CallsPersistenceManagerDataLoad() // public void DataLoad_ValidData_CallsPersistenceManagerDataLoad()
{ // {
// Arrange // // Arrange
MockPersistenceManager persistenceManager = new MockPersistenceManager(); // MockPersistenceManager persistenceManager = new MockPersistenceManager();
Manager manager = new Manager(persistenceManager); // Manager manager = new Manager(persistenceManager);
Customer customer = new Customer("Doe", "John", "123456"); // Customer customer = new Customer("Doe", "John", "123456");
Consultant consultant = new Consultant("Smith", "Jane", "abcdef"); // Consultant consultant = new Consultant("Smith", "Jane", "abcdef");
persistenceManager.DataToLoad = (new List<Customer> { customer }, consultant); // persistenceManager.DataToLoad = (new List<Customer> { customer }, consultant);
// Act // // Act
manager.DataLoad(); // manager.DataLoad();
// Assert // // Assert
Assert.True(persistenceManager.DataLoadCalled); // Assert.True(persistenceManager.DataLoadCalled);
Assert.Contains(customer, manager.CustomersList); // Assert.Contains(customer, manager.CustomersList);
Assert.Equal(consultant, manager.Consultant); // Assert.Equal(consultant, manager.Consultant);
} // }
/// <summary> // /// <summary>
/// Classe de mock pour le gestionnaire de persistance. // /// Classe de mock pour le gestionnaire de persistance.
/// </summary> // /// </summary>
private class MockPersistenceManager : IPersistenceManager // private class MockPersistenceManager : IPersistenceManager
{ // {
public bool DataSaveCalled { get; private set; } // public bool DataSaveCalled { get; private set; }
public bool DataLoadCalled { get; private set; } // public bool DataLoadCalled { get; private set; }
public (List<Customer>, Consultant) DataToLoad { get; set; } // public (List<Customer>, Consultant) DataToLoad { get; set; }
public List<Customer>? SavedCustomersList { get; private set; } // public List<Customer>? SavedCustomersList { get; private set; }
public Consultant? SavedConsultant { get; private set; } // public Consultant? SavedConsultant { get; private set; }
public void DataSave(List<Customer> customersList, Consultant consultant) // public void DataSave(List<Customer> customersList, Consultant consultant)
{ // {
DataSaveCalled = true; // DataSaveCalled = true;
SavedCustomersList = customersList; // SavedCustomersList = customersList;
SavedConsultant = consultant; // SavedConsultant = consultant;
} // }
public (List<Customer>, Consultant) DataLoad() // public (List<Customer>, Consultant) DataLoad()
{ // {
DataLoadCalled = true; // DataLoadCalled = true;
return DataToLoad; // return DataToLoad;
} // }
} // }
} // }
} //}

@ -22,7 +22,7 @@ namespace UnitTest
Account account = new Account(1000, "John Doe", "FR123456789"); Account account = new Account(1000, "John Doe", "FR123456789");
// Création d'une transaction // Création d'une transaction
Transaction transaction = new Transaction(true, 200, account, 1, DateTime.Now); Transaction transaction = new Transaction(true, 200, account, DateTime.Now);
// Affichage des informations de la transaction // Affichage des informations de la transaction
Console.WriteLine("Transaction:"); Console.WriteLine("Transaction:");

Loading…
Cancel
Save