AppSAV/MauiAppStock/ViewModels/FournisseursViewModel.cs

42 lines
1.3 KiB
C#

using System.Collections.ObjectModel;
using System.Threading.Tasks;
using System.Windows.Input;
using MauiAppStock.Models;
using MauiAppStock.Data;
using MauiAppStock.Helpers;
namespace MauiAppStock.ViewModels
{
public class FournisseursViewModel : BaseViewModel
{
public ObservableCollection<Fournisseur> Fournisseurs { get; set; }
public ICommand LoadFournisseursCommand { get; }
public ICommand DeleteFournisseurCommand { get; }
public FournisseursViewModel()
{
Fournisseurs = new ObservableCollection<Fournisseur>();
LoadFournisseursCommand = new AsyncCommand(LoadFournisseurs);
DeleteFournisseurCommand = new AsyncCommand<Fournisseur>(DeleteFournisseur);
}
private async Task LoadFournisseurs()
{
Fournisseurs.Clear();
var fournisseursList = await Database.GetFournisseursAsync();
foreach (var fournisseur in fournisseursList)
{
Fournisseurs.Add(fournisseur);
}
}
private async Task DeleteFournisseur(Fournisseur fournisseur)
{
if (fournisseur != null)
{
await Database.DeleteFournisseurAsync(fournisseur);
Fournisseurs.Remove(fournisseur);
}
}
}
}