Files
infineon_cs_hmi/uniper_hmi/UniperHMI/Common/FlowStationsViewModelBase.cs

51 lines
1.4 KiB
C#

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<StationEntry> initFlowStations = new();
[ObservableProperty]
private ObservableCollection<StationEntry> flowStations = new ObservableCollection<StationEntry>();
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<FlowReceipeEntry> initEntries = new();
[ObservableProperty] private ObservableCollection<FlowReceipeEntry> flowReceipeEntries;
public void AcceptChanges()
{
initEntries = new(FlowReceipeEntries);
}
public bool IsChanged => !FlowReceipeEntries.Equals(initEntries);
public void DiscardChanges()
{
FlowReceipeEntries = new(initEntries);
}
}
}