add project model

pull/50/head
Antoine PEREDERII 2 years ago
commit 947597cdc8

@ -9,27 +9,27 @@ namespace Banquale.Stub
public (List<Customer>, Consultant) DataLoad()
{
Consultant Consultant = new Consultant("Consultant", "Consultant", 0, "Consultant");
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"));
Customer Customer1 = new Customer("Jacques", "Morice", "J'aimeLesFrites");
Customer Customer2 = new Customer("Francis", "Begore", "J'aimeLes");
Customer Customer3 = new Customer("Michel", "Boudout", "MonMdP");
Customer Customer1 = new Customer("Jacques", "Morice", "Hello");
Customer Customer2 = new Customer("Francis", "Begore", "Halo");
Customer Customer3 = new Customer("Michel", "Boudout", "Hola");
Account Account1 = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004");
Account Account2 = new Account(9510, "Despoints", "FR76 4785 8569 6914 4152 5263 003");
Account Account3 = new Account(3519, "Perotte", "FR76 6352 2541 4169 6958 5847 002");
Account Account2 = new Account(9510, "Despoints", "FR7647858569691441525263003");
Account Account3 = new Account(3519, "Perotte", "FR7663522541416969585847002");
Transactions Transactions1 = new Transactions(0, 55, Account1, "Test", new DateTime(2023, 6, 21, 15, 29, 20));
Transactions Transactions12 = new Transactions(0, 105, Account1, "Test", new DateTime(2023, 8, 17, 18, 54, 35));
Transactions Transactions13 = new Transactions(0, 187, Account1, "Test", new DateTime(2023, 5, 3, 8, 39, 49));
Transactions Transactions2 = new Transactions(1, 54.99, Account2, "Test", new DateTime(2022, 8, 15));
Transactions Transactions3 = new Transactions(0, 1000, Account3, "Test", new DateTime(2020, 9, 1, 20, 00, 00));
Transactions Transactions1 = new Transactions(true, 55, Account1, 1, new DateTime(2023, 6, 21, 15, 29, 20));
Transactions Transactions12 = new Transactions(true, 105, Account1, 2, new DateTime(2023, 8, 17, 18, 54, 35));
Transactions Transactions13 = new Transactions(true, 187, Account1, 3, new DateTime(2023, 5, 3, 8, 39, 49));
Transactions Transactions2 = new Transactions(false, 54.99, Account2, 4, new DateTime(2022, 8, 15));
Transactions Transactions3 = new Transactions(true, 1000, Account3, 5, new DateTime(2020, 9, 1, 20, 00, 00));
Debug.WriteLine(Customer1.Name, Customer1.Password);
List<Customer> CustomersList = new List<Customer>();

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Banquale.Views"
xmlns:model="clr-namespace:Banquale.Model"
x:Class="Banquale.Views.BalancePage"
Title="BalancePage"
Shell.NavBarIsVisible="False">
@ -26,8 +24,8 @@
<Grid.GestureRecognizers>
<TapGestureRecognizer
Tapped="Balance_Clicked"
NumberOfTapsRequired="1" />
Tapped="Balance_Clicked"
NumberOfTapsRequired="1" />
</Grid.GestureRecognizers>
<Label
@ -71,6 +69,9 @@
Grid.Row="1"
HeightRequest="1"/>
<Label Text="{Binding TransactionsList.Id}"
x:Name="idLabel" />
<ListView ItemsSource="{Binding TransactionsList}"
Grid.Row="2"
SelectionMode="None">
@ -93,10 +94,15 @@
</Grid.GestureRecognizers>
<Image
<!--<Image
Source="dotnet_bot.png"
Grid.Column="0"
MaximumHeightRequest="30"/>
MaximumHeightRequest="30"/>-->
<Label
Text="{Binding Id}"
Grid.Column="0"
x:Name="transactionId"/>
<Label
Text="{Binding Date, StringFormat='{0:ddd dd MMM yyyy}'}"

@ -15,15 +15,39 @@ public partial class BalancePage : ContentPage
}
public async void Transaction_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)
public async void Transactions_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)
{
Mgr.SelectedTransaction = Mgr.SelectedAccount.TransactionsList[0];
//Mgr.SelectedTransaction = Mgr.PropertyChanged;
await Shell.Current.Navigation.PushAsync(new TransactionsPage());
}
public async void Balance_Clicked(object sender, EventArgs e)
{
await Shell.Current.Navigation.PushAsync(new NewPage1());
}
public async void Transaction_Clicked(Object sender, EventArgs e)
{
uint TransactionId = Convert.ToUInt32(idLabel.Text);
if (string.IsNullOrWhiteSpace(idLabel.Text))
{
await DisplayAlert("Erreur", "aucune transaction présente", "OK");
return;
}
Transactions transactions = Mgr.SelectedAccount.TransactionsList.FirstOrDefault(u => u.Id == TransactionId);
if (transactions == null)
{
await DisplayAlert("Erreur", "La transaction n'éxiste pas !", "OK");
return;
}
Mgr.SelectedTransaction = transactions;
await Navigation.PushModalAsync(new TransactionsPage());
}
}

@ -13,16 +13,16 @@ public partial class ConnectionPage : ContentPage
public async void Connection_Clicked(Object sender, EventArgs e)
{
string currentId = ident.Text;
uint currentId = Convert.ToUInt32(ident.Text);
string password = pass.Text;
if (string.IsNullOrWhiteSpace(currentId) || string.IsNullOrWhiteSpace(password))
if (string.IsNullOrWhiteSpace(ident.Text) || string.IsNullOrWhiteSpace(password))
{
await DisplayAlert("Erreur", "Tout les champs doivent être complétés", "OK");
return;
}
if(currentId == "1")
if(currentId == 0)
{
Mgr.IsConsultant = true;
await Navigation.PushModalAsync(new ConsultantHomePage());
@ -33,21 +33,14 @@ public partial class ConnectionPage : ContentPage
Mgr.IsConsultant = false;
}
/*foreach(var Cu in Mgr.CustomersList)
Customer customer = Mgr.CustomersList.FirstOrDefault(u => u.Id == currentId && u.Password == password);
if (customer == null)
{
if (Cu.Id == currentId)
{
Mgr.SelectedCustomer = Mgr.CustomersList[currentId+1];
}
}*/
//if(int.Parse(currentId) in Mgr.CustomersList) // FONCTIONNE PAS
//{
// Mgr.SelectedCustomer = Mgr.CustomersList[int.Parse(currentId)];
//}
Mgr.SelectedCustomer = Mgr.CustomersList[0];// 0 à changer
await DisplayAlert("Erreur", "Le mot de passe ou l'id entré est incorrect.", "OK");
return;
}
Mgr.SelectedCustomer = customer;
await Navigation.PushModalAsync(new SwitchAccountPage());

@ -26,7 +26,7 @@
Padding="3">
<Entry
Text="FR "
Text="FR"
Placeholder="IBAN"
HorizontalOptions="Center"
WidthRequest="280"

@ -1,4 +1,5 @@
using Model;
using Model;
using System.Linq;
namespace Banquale.Views.Transfer;
public partial class TransferPage : ContentPage
@ -11,8 +12,26 @@ public partial class TransferPage : ContentPage
public async void Send_Clicked(Object sender, EventArgs e)
{
Account.DoTransactions(Name.Text, IBAN.Text, Sum.Text);
await Shell.Current.GoToAsync("//balance");
int count = Mgr.SelectedAccount.TransactionsList.Count;
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;
}
foreach (var cust in Mgr.CustomersList)
{
foreach (var acc in cust.AccountsList)
{
if(acc.Name == Name.Text && acc.IBAN == IBAN.Text)
{
acc.DoTransactions(acc, Convert.ToDouble(Sum.Text), true, count+1); // Type true car c'est un virement
await Shell.Current.Navigation.PopAsync();
return;
}
}
}
await DisplayAlert("Erreur", "Le compte n'existe pas", "OK");
}
}

@ -20,7 +20,7 @@ namespace Model
}
[DataMember]
public double Balance
public Double Balance
{
get => balance;
set
@ -32,7 +32,7 @@ namespace Model
}
}
[DataMember]
private double balance;
private Double balance;
[DataMember]
@ -84,14 +84,24 @@ namespace Model
[DataMember]
public List<Transactions> TransactionsList { get; set; } = new List<Transactions>();
//public bool DoTransactions(string name, string IBAN, float sum)
//{
// List<Transactions> transactions.add(sum);
// if()
// return true;
//}
public void DoTransactions(Account involvedAccount, Double sum, bool type, int nb)
{
if (type) // si le type est True => c'est un débit, on doit donc ajouter la transaction pour l'autre compte
{
Transactions transaction = new Transactions(type, sum, involvedAccount, nb, DateTime.Now);
TransactionsList.Add(transaction);
Balance = Balance-sum;
involvedAccount.DoTransactions(this, sum, !type, nb+1);
}
else // Sinon, c'est un crédit, on a juste à l'ajouter ànotre liste de transactions
{
TransactionsList.Add(new Transactions(type, sum, involvedAccount, nb, DateTime.Now));
Balance = Balance+sum;
}
}
public Account(int balance, string name, string iban)
public Account(Double balance, string name, string iban)
{
Balance = balance;
Name = name;
@ -99,15 +109,12 @@ namespace Model
IBANHide = IBANToString();
}
public static void DoTransactions(string name, string iban, string sum)
{
Debug.WriteLine(name);
Debug.WriteLine(iban);
Debug.WriteLine(sum);
Debug.WriteLine("Transaction successed !");
}
//public static void DoTransactions(string name, string iban, string sum)
//{
// Debug.WriteLine(name);
// Debug.WriteLine(iban);
// Debug.WriteLine(sum);
// Debug.WriteLine("Transaction successed !");
//public bool DoRequest(string name, string IBAN, float sum)
//{

@ -9,7 +9,7 @@ namespace Model
[DataMember]
public List<Message> MessagesList = new List<Message>();
public Consultant(string name, string firstName, uint id, string password) : base(name, firstName, id, password)
public Consultant(string name, string firstName, string password) : base(name, firstName, password)
{
}
}

@ -17,25 +17,19 @@ namespace Model
public string FirstName { get; private set; }
[DataMember]
public uint Id { get; private set; }
public static uint id { get; set; } = 0;
[DataMember]
public string Password { get; private set; }
public Person(string name, string firstName, string password)
{
Name = name;
FirstName = firstName;
Id = 1;
Password = password;
}
public Person(string name, string firstName, uint id, string password)
{
Name = name;
FirstName = firstName;
Id = id;
Password = password;
id++;
}
}
}

@ -11,9 +11,11 @@ namespace Model
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
[DataMember]
public int Id { get; private set; }
[DataMember]
public int Type
public bool Type
{
get => type;
set
@ -26,7 +28,7 @@ namespace Model
}
[DataMember]
private int type;
private bool type;
[DataMember]
public Double Sum
@ -88,12 +90,13 @@ namespace Model
[DataMember]
private DateTime date;
public Transactions(int type, Double sum, Account involvedAccounts, string category, DateTime date)
public Transactions(bool type, Double sum, Account involvedAccounts/*, string category*/, int id, DateTime date)
{
Type = type;
Sum = sum;
Id = id;
InvolvedAccounts = involvedAccounts;
Category = category;
//Category = category;
Date = date;
}

Loading…
Cancel
Save