diff --git a/Views/Client/ClientsPage.xaml b/Views/Client/ClientsPage.xaml
index a09dffc..34996f0 100644
--- a/Views/Client/ClientsPage.xaml
+++ b/Views/Client/ClientsPage.xaml
@@ -1,61 +1,69 @@
-
+
-
-
-
-
+
-
-
-
+
+
-
-
+
\ No newline at end of file
diff --git a/Views/Client/ClientsPage.xaml.cs b/Views/Client/ClientsPage.xaml.cs
index 758a693..3599cc3 100644
--- a/Views/Client/ClientsPage.xaml.cs
+++ b/Views/Client/ClientsPage.xaml.cs
@@ -15,19 +15,28 @@ namespace HegreHotel.Views.Client
InitializeComponent();
LoadClients();
}
-
+
private async void LoadClients()
{
- string dbPath = Path.Combine(FileSystem.AppDataDirectory, "HegreHotel.db3");
- var db = SingletonConnection.GetInstance(dbPath);
- var clientsList = await db.Table().ToListAsync();
- Clients.Clear();
- foreach (var client in clientsList)
+ try
{
- Clients.Add(client);
+ string dbPath = Path.Combine(FileSystem.AppDataDirectory, "HegreHotel.db3");
+ var db = SingletonConnection.GetInstance(dbPath);
+ var clientsList = await db.Table().ToListAsync();
+
+ MainThread.BeginInvokeOnMainThread(() =>
+ {
+ Clients.Clear();
+ foreach (var client in clientsList)
+ Clients.Add(client);
+
+ ClientsCollectionView.ItemsSource = Clients;
+ });
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"Erreur lors du chargement des clients : {ex.Message}");
}
- ClientsListView.ItemsSource = Clients;
-
}
private async void OnAjouterClientClicked(object sender, EventArgs e)
@@ -43,7 +52,6 @@ namespace HegreHotel.Views.Client
}
}
-
private async void OnSupprimerClientClicked(object sender, EventArgs e)
{
if (sender is ImageButton imageButton && imageButton.CommandParameter is Models.Client client)
@@ -54,25 +62,24 @@ namespace HegreHotel.Views.Client
string dbPath = Path.Combine(FileSystem.AppDataDirectory, "HegreHotel.db3");
var db = SingletonConnection.GetInstance(dbPath);
await db.DeleteAsync(client);
- LoadClients();
+
+ MainThread.BeginInvokeOnMainThread(() =>
+ {
+ Clients.Remove(client);
+ });
}
}
}
-
- private void ClientsPage_OnAppearing(object? sender, EventArgs e)
+ private void ClientsPage_OnAppearing(object sender, EventArgs e)
{
LoadClients();
}
- private async void OnClientTapped(object sender, ItemTappedEventArgs e)
+ private async void OnClientTapped(object sender, EventArgs e)
{
- if (e.Item != null)
+ if (sender is Frame frame && frame.BindingContext is Models.Client client)
{
- ((ListView)sender).SelectedItem = null;
-
- var client = e.Item as Models.Client;
-
await Navigation.PushAsync(new DetailsClientPage(client));
}
}