Added Binding Context on transactionsPage

pull/46/head^2
Titouan LOUVET 2 years ago
parent 69a2945a16
commit 83a644be02

@ -63,12 +63,25 @@ namespace Banquale.Model
} }
private string iban; private string iban;
public string IBANHide
{
get => ibanHide;
set
{
if (ibanHide == value)
return;
ibanHide = value;
OnPropertyChanged(nameof(IBANHide));
}
}
private string ibanHide;
public Account(int balance, string name, string iban) public Account(int balance, string name, string iban)
{ {
Balance = balance; Balance = balance;
Name = name; Name = name;
IBAN = iban; IBAN = iban;
IBANHide = IBANToString();
} }
[DataMember] [DataMember]
@ -117,6 +130,18 @@ namespace Banquale.Model
throw new NotImplementedException(); throw new NotImplementedException();
} }
public string IBANToString()
{
char[] res = IBAN.ToCharArray();
for (int i = 5; i< IBAN.Length - 4; i++ )
{
if (res[i] == ' ')
continue;
res[i] = '*';
}
return new string(res);
}
public bool Equals(Account other) public bool Equals(Account other)
{ {
if(other == null) return false; if(other == null) return false;

@ -35,6 +35,17 @@ namespace Banquale.Model
private Account selectedAccount; private Account selectedAccount;
public Transactions SelectedTransaction
{
get => selectedTransaction;
set
{
selectedTransaction = value;
}
}
private Transactions selectedTransaction;
public IPersistenceManager Persistence { get; set; } public IPersistenceManager Persistence { get; set; }
public Manager(IPersistenceManager persistence) { public Manager(IPersistenceManager persistence) {

@ -97,6 +97,7 @@ namespace Banquale.Model
Date = date; Date = date;
} }
public event PropertyChangedEventHandler PropertyChanged; public event PropertyChangedEventHandler PropertyChanged;
} }
} }

@ -17,6 +17,7 @@ public partial class BalancePage : ContentPage
public async void Transaction_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e) public async void Transaction_Clicked(System.Object sender, Microsoft.Maui.Controls.TappedEventArgs e)
{ {
Mgr.SelectedTransaction = Mgr.SelectedAccount.TransactionsList[0];
await Shell.Current.Navigation.PushAsync(new TransactionsPage()); 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)

@ -38,51 +38,52 @@
<VerticalStackLayout VerticalOptions="Center"> <VerticalStackLayout VerticalOptions="Center">
<Label <Label
Grid.Column="1" Text="{Binding Sum, StringFormat='{0} €'}"
Text="Prix"
HorizontalOptions="Center" HorizontalOptions="Center"
FontSize="Large" FontSize="Large"
Margin="0, 0, 0, 50"/> Margin="0, 0, 0, 20"/>
<Label
Grid.Column="1"
Text="poiuytreza"
HorizontalOptions="Center"
Margin="0, 50, 0, 50"/>
<Button <Button
Grid.Column="1" Grid.Column="1"
Text="Categorie" Text="{Binding Category}"
FontSize="Medium" FontSize="Medium"
Margin="0, 50, 0, 50" Margin="0, 50, 0, 50"
Clicked="Categ_Clicked"/> Clicked="Categ_Clicked"/>
<Grid RowDefinitions="auto, *, auto" <Grid RowDefinitions="auto, *, auto, auto"
ColumnDefinitions="*, auto, *" ColumnDefinitions="*, auto, *"
Margin="0, 50, 0, 50"> Margin="0, 50, 0, 50">
<Label <Label
Grid.Row="0" Grid.Row="0"
Grid.Column="1" Grid.Column="1"
Text=" Paiment par carte &#x0a;4859 **** **** 9985" HorizontalOptions="Center"
Text="{Binding InvolvedAccounts.Name, StringFormat='Paiment expédié par&#10; Compte {0}'}"
VerticalOptions="Center"/> VerticalOptions="Center"/>
<BoxView <Label
Grid.Row="1" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
HorizontalOptions="Center"
Text="{Binding InvolvedAccounts.IBANHide, StringFormat='{0}'}"
VerticalOptions="Center"/>
<BoxView
Grid.Row="2"
Grid.Column="1"
HorizontalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
HeightRequest="1.3" HeightRequest="1.3"
Margin="0, 5, 0, 5"/> Margin="0, 5, 0, 5"/>
<Label <Label
Grid.Row="2" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Text="En date du 15/06/2023"/> Text="{Binding Date, StringFormat='En date du {0:MM/dd/yy}'}"
HorizontalOptions="Center"/>
</Grid> </Grid>
<Button <Button
Grid.Column="1"
Text="Faire opposition" Text="Faire opposition"
Margin="0, 50, 0, 0" Margin="0, 50, 0, 0"
Clicked="Objection_Clicked"/> Clicked="Objection_Clicked"/>

@ -1,11 +1,14 @@
using Banquale.Model;
using Banquale.Views.Category; using Banquale.Views.Category;
namespace Banquale.Views; namespace Banquale.Views;
public partial class TransactionsPage : ContentPage public partial class TransactionsPage : ContentPage
{ {
public TransactionsPage() public Manager Mgr => (App.Current as App).MyManager;
public TransactionsPage()
{ {
InitializeComponent(); InitializeComponent();
BindingContext = Mgr.SelectedTransaction;
} }
async void Categ_Clicked(System.Object sender, System.EventArgs e) async void Categ_Clicked(System.Object sender, System.EventArgs e)

Loading…
Cancel
Save