2025-03-17 22:17:28 +08:00

55 lines
1.4 KiB
C#

using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using Seyounth.Hyosung.Data.Models;
using Seyounth.Hyosung.Data.Services;
namespace Seyounth.Hyosung.ViewModels;
public partial class PalletManagerViewModel : ObservableObject
{
[ObservableProperty] private ObservableCollection<Pallet> _pallets;
private readonly IPalletService _palletService;
public PalletManagerViewModel(IPalletService palletService)
{
Pallets = new ObservableCollection<Pallet>(palletService.GetPallets());
_palletService = palletService;
}
public class SavePalletCompletedMessage
{
}
[RelayCommand]
private void OnDeletePallet(object obj)
{
if (obj is Pallet pallet)
{
Pallets.Remove(pallet);
_palletService.DeletePalletAsync(pallet);
}
else
{
Console.Write("Object is not a Pallet");
}
}
[RelayCommand]
private void OnSavePallet(object obj)
{
if (obj is Pallet pallet)
{
if (pallet.Id == 0)
{
_palletService.AddPalletAsync(pallet);
}
else
_palletService.UpdatePalletAsync(pallet);
}
WeakReferenceMessenger.Default.Send(new SavePalletCompletedMessage());
}
}