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 _pallets; private readonly IPalletService _palletService; public PalletManagerViewModel(IPalletService palletService) { Pallets = new ObservableCollection(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()); } }