Correction of DataContract Problem and Add better version of dataBinding
continuous-integration/drone/push Build is passing Details

pull/50/head
Titouan LOUVET 2 years ago
parent be2061db9a
commit 35ce765389

@ -16,7 +16,7 @@ public partial class App : Application
MyManager.DataLoad();
MyManager.Persistence = new DataContractPersistance.DataContractPers();
//MyManager.DataSave();
MyManager.DataSave();
InitializeComponent();

@ -1,11 +1,18 @@
using System;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
namespace Banquale.Model
{
[DataContract]
public class Manager
public class Manager : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
[DataMember]
public List<Customer> CustomersList { get; private set; } // devient un set
@ -17,7 +24,10 @@ namespace Banquale.Model
get => selectedCustomer;
set
{
if (selectedCustomer == value)
return;
selectedCustomer = value;
OnPropertyChanged();
}
}
@ -28,7 +38,10 @@ namespace Banquale.Model
get => selectedAccount;
set
{
if (selectedAccount == value)
return;
selectedAccount = value;
OnPropertyChanged();
}
}
@ -39,12 +52,17 @@ namespace Banquale.Model
get => selectedTransaction;
set
{
if (selectedTransaction == value)
return;
selectedTransaction = value;
OnPropertyChanged();
}
}
private Transactions selectedTransaction;
public IPersistenceManager Persistence { get; set; }
public Manager(IPersistenceManager persistence)

@ -3,7 +3,7 @@ using System.Runtime.Serialization;
namespace Banquale.Model
{
[DataContract]
[DataContract(IsReference = true)]
public class Transactions : INotifyPropertyChanged
{

@ -18,6 +18,7 @@ public partial class BalancePage : ContentPage
public async void Transaction_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)

@ -27,6 +27,15 @@ public partial class ConnectionPage : ContentPage
return;
}
/*foreach(var Cu in Mgr.CustomersList)
{
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)];

Loading…
Cancel
Save