68 lines
2.2 KiB
C#
68 lines
2.2 KiB
C#
using HegreHotel.Models;
|
|
using Microsoft.Maui.Controls;
|
|
using System.Collections.ObjectModel;
|
|
using System.IO;
|
|
using Microsoft.Maui.Storage;
|
|
|
|
namespace HegreHotel.Views.Chambre
|
|
{
|
|
public partial class ChambresPage : ContentPage
|
|
{
|
|
public ObservableCollection<Models.Chambre> Chambres { get; set; } = new ObservableCollection<Models.Chambre>();
|
|
|
|
public ChambresPage()
|
|
{
|
|
InitializeComponent();
|
|
LoadChambres();
|
|
}
|
|
|
|
private async void LoadChambres()
|
|
{
|
|
string dbPath = Path.Combine(FileSystem.AppDataDirectory, "HegreHotel.db3");
|
|
var db = SingletonConnection.GetInstance(dbPath);
|
|
var chambresList = await db.Table<Models.Chambre>().ToListAsync();
|
|
Chambres.Clear();
|
|
foreach (var chambre in chambresList)
|
|
{
|
|
Chambres.Add(chambre);
|
|
}
|
|
ChambresListView.ItemsSource = Chambres;
|
|
}
|
|
|
|
private async void OnAjouterChambreClicked(object sender, EventArgs e)
|
|
{
|
|
await Navigation.PushAsync(new AjouterChambrePage());
|
|
}
|
|
|
|
private async void OnModifierChambreClicked(object sender, EventArgs e)
|
|
{
|
|
var chambre = ((Button)sender).CommandParameter as Models.Chambre;
|
|
if (chambre != null)
|
|
{
|
|
await Navigation.PushAsync(new ModifierChambrePage(chambre));
|
|
}
|
|
}
|
|
|
|
private async void OnSupprimerChambreClicked(object sender, EventArgs e)
|
|
{
|
|
var chambre = ((Button)sender).CommandParameter as Models.Chambre;
|
|
if (chambre != null)
|
|
{
|
|
bool confirmation = await DisplayAlert("Suppression", "Voulez-vous vraiment supprimer cette chambre ?", "Oui", "Non");
|
|
if (confirmation)
|
|
{
|
|
string dbPath = Path.Combine(FileSystem.AppDataDirectory, "HegreHotel.db3");
|
|
var db = SingletonConnection.GetInstance(dbPath);
|
|
await db.DeleteAsync(chambre);
|
|
LoadChambres();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ChambresPage_OnAppearing(object? sender, EventArgs e)
|
|
{
|
|
LoadChambres();
|
|
}
|
|
}
|
|
}
|