Added in Manager SelectedAccount and SelectedCustomer for DataBinding AND Upgrade DataBinding on BalancePage and SwitchAccountPage

pull/46/head
Titouan LOUVET 2 years ago
parent 28356ff073
commit 9cb4cbf91d

@ -14,6 +14,28 @@ namespace Banquale.Model
public List<Account> AccountList { get; private set; } public List<Account> AccountList { get; private set; }
public Customer SelectedCustomer
{
get => selectedCustomer;
set
{
selectedCustomer = value;
}
}
private Customer selectedCustomer;
public Account SelectedAccount
{
get => selectedAccount;
set
{
selectedAccount = value;
}
}
private Account selectedAccount;
public IPersistenceManager Persistence { get; set; } public IPersistenceManager Persistence { get; set; }
public Manager(IPersistenceManager persistence) { public Manager(IPersistenceManager persistence) {

@ -22,7 +22,7 @@ namespace Banquale.Stub
Transactions Transactions12 = new Transactions(0, 105, Account1, "Test", new DateTime(2023, 8, 17, 18, 54, 35)); 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 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 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)); Transactions Transactions3 = new Transactions(0, 1000, Account3, "Test", new DateTime(2020, 9, 1, 20, 00, 00));
Debug.WriteLine(Customer1.Name, Customer1.Password); Debug.WriteLine(Customer1.Name, Customer1.Password);
List<Customer> CustomersList = new List<Customer>(); List<Customer> CustomersList = new List<Customer>();
@ -36,37 +36,38 @@ namespace Banquale.Stub
Account1.TransactionsList.Add(Transactions13); Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions2); Account1.TransactionsList.Add(Transactions2);
Account1.TransactionsList.Add(Transactions3); Account1.TransactionsList.Add(Transactions3);
Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions1); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions12); //Account1.TransactionsList.Add(Transactions1);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions12);
Account1.TransactionsList.Add(Transactions2); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions3); //Account1.TransactionsList.Add(Transactions2);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions3);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions1); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions12); //Account1.TransactionsList.Add(Transactions1);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions12);
Account1.TransactionsList.Add(Transactions2); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions3); //Account1.TransactionsList.Add(Transactions2);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions3);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
Account1.TransactionsList.Add(Transactions13); //Account1.TransactionsList.Add(Transactions13);
//Account1.TransactionsList.Add(Transactions13);
Account2.TransactionsList.Add(Transactions2); Account2.TransactionsList.Add(Transactions2);

@ -35,11 +35,11 @@
HorizontalOptions="Center"> HorizontalOptions="Center">
<Label <Label
Text="{Binding CustomersList[currentId].Name}" Text="{Binding Name}"
Margin="0, 0, 5, 0"/> Margin="0, 0, 5, 0"/>
<Label <Label
Text="{Binding CustomersList[currentId].FirstName}" Text="{Binding FirstName}"
Margin="5, 0, 0, 0"/> Margin="5, 0, 0, 0"/>
</HorizontalStackLayout> </HorizontalStackLayout>
@ -52,14 +52,58 @@
Text="Solde" Text="Solde"
Margin="0, 0, 50, 0"/> Margin="0, 0, 50, 0"/>
<Label <Label
Text="{Binding CustomersList[0].AccountsList[0].Balance, StringFormat='{0} €'}" Text="{Binding Balance, StringFormat='{0} €'}"
Grid.Column="1" Grid.Column="1"
Margin="50, 0, 5, 0"/> Margin="50, 0, 5, 0"/>
</Grid> </Grid>
</Grid> </Grid>
<local:BalanceView Grid.Row="1"/> <ListView ItemsSource="{Binding TransactionsList}" Grid.Row="1"
SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid
ColumnDefinitions="40, 3*, *"
Margin="20, 5, 20, 5"
HorizontalOptions="Fill">
<Grid.GestureRecognizers>
<TapGestureRecognizer
Tapped="Transaction_Clicked"
NumberOfTapsRequired="1" />
</Grid.GestureRecognizers>
<Image Source="dotnet_bot.png"
Grid.Column="0"
MaximumHeightRequest="30"/>
<Label
Text="{Binding Date, StringFormat='{0:f}'}"
Grid.Column="1"
VerticalOptions="Center"
Margin="10, 0, 0, 0"/>
<Label
Text="{Binding Sum, StringFormat='{0} €'}"
Grid.Column="2"
VerticalOptions="Center"
HorizontalOptions="End"
Margin="0, 0, 20, 0"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid> </Grid>
</ContentPage> </ContentPage>

@ -10,10 +10,15 @@ public partial class BalancePage : ContentPage
public BalancePage() public BalancePage()
{ {
InitializeComponent(); InitializeComponent();
BindingContext = Mgr; BindingContext = Mgr.SelectedAccount;
//BindingContext = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004"); //BindingContext = new Account(999, "Tatouille", "FR76 9161 9581 6296 8415 2361 004");
} }
public async void Transaction_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)
{
await Shell.Current.Navigation.PushAsync(new TransactionsPage());
}
public async void Balance_Clicked(object sender, EventArgs e) public async void Balance_Clicked(object sender, EventArgs e)
{ {
await Shell.Current.Navigation.PushAsync(new NewPage1()); await Shell.Current.Navigation.PushAsync(new NewPage1());

@ -28,6 +28,14 @@ public partial class ConnectionPage : ContentPage
return; return;
} }
//if(int.Parse(currentId) in Mgr.CustomersList) // FONCTIONNE PAS
//{
// Mgr.SelectedCustomer = Mgr.CustomersList[int.Parse(currentId)];
//}
Mgr.SelectedCustomer = Mgr.CustomersList[0]; // 0 à changer
await Navigation.PushModalAsync(new SwitchAccountPage()); await Navigation.PushModalAsync(new SwitchAccountPage());
} }

@ -11,10 +11,34 @@
VerticalOptions="Center" VerticalOptions="Center"
HorizontalOptions="Center"> HorizontalOptions="Center">
<local:SwitchAccountView/>
<local:SwitchAccountView/> <ListView ItemsSource="{Binding AccountsList}"
SelectionMode="None" Grid.Row="1">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<VerticalStackLayout>
<Button Text="{Binding Name, StringFormat=' Compte Personnel \n {0}'}"
Clicked="Transfer_Clicked"
MinimumHeightRequest="165"
MinimumWidthRequest="100"
FontSize="Large"
Margin="0, 10, 0, 10"
VerticalOptions="Center"/>
</VerticalStackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button Text="Déconnexion" <Button Text="Déconnexion"
BorderWidth="2" BorderWidth="2"

@ -1,12 +1,23 @@
using Banquale.Model;
namespace Banquale.Views; namespace Banquale.Views;
public partial class SwitchAccountPage : ContentPage public partial class SwitchAccountPage : ContentPage
{ {
public Manager Mgr => (App.Current as App).MyManager;
public SwitchAccountPage() public SwitchAccountPage()
{ {
InitializeComponent(); InitializeComponent();
BindingContext = Mgr.SelectedCustomer;
} }
public async void Transfer_Clicked(object sender, EventArgs e)
{
Mgr.SelectedAccount = Mgr.SelectedCustomer.AccountsList[0]; // 0 à changer
await Shell.Current.GoToAsync("//balance");
}
async void DisconnectionClicked(System.Object sender, System.EventArgs e) async void DisconnectionClicked(System.Object sender, System.EventArgs e)
{ {
await Shell.Current.GoToAsync("///connection"); await Shell.Current.GoToAsync("///connection");

Loading…
Cancel
Save