using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Reactive.Linq; using System.Text; using System.Threading.Tasks; using CommunityToolkit.Mvvm.ComponentModel; using InfineonHMI.Model; namespace InfineonHMI.Common { public sealed partial class FlowStationsViewModelBase : ObservableValidator, IChangeTrackingEx { private ObservableCollection initFlowStations = new(); [ObservableProperty] private ObservableCollection flowStations = new ObservableCollection(); public void AcceptChanges() { initFlowStations = new(FlowStations); } public bool IsChanged => !initFlowStations.Equals(FlowStations); public void DiscardChanges() { FlowStations = new(initFlowStations); } } public sealed partial class FlowReceipe : ObservableValidator, IChangeTrackingEx { private ObservableCollection initEntries = new(); [ObservableProperty] private ObservableCollection flowReceipeEntries; public void AcceptChanges() { initEntries = new(FlowReceipeEntries); } public bool IsChanged => !FlowReceipeEntries.Equals(initEntries); public void DiscardChanges() { FlowReceipeEntries = new(initEntries); } } }