using CommunityToolkit.Mvvm.Input;
using FLY.Thick.Base.UI.OnInit;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
namespace FLY.Thick.Base.UI
{
///
/// WdSkipWarningUnityNames.xaml 的交互逻辑
///
public partial class WdWarningUnityNames : FLY.ControlLibrary.WindowBigClose
{
WdWarningUnityNamesVm viewModel;
public WdWarningUnityNames()
{
InitializeComponent();
}
public void Init(WarningSystemManager warningSystemManager)
{
viewModel = new WdWarningUnityNamesVm();
viewModel.Init(warningSystemManager);
this.DataContext = viewModel;
}
}
public class WdWarningUnityNamesVm : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public ObservableCollection WarningNames { get; } = new ObservableCollection();
public RelayCommand OkCmd { get; private set; }
WarningSystemManager warningSystemManager;
public WdWarningUnityNamesVm()
{
OkCmd = new RelayCommand(Ok);
}
public void Init(WarningSystemManager warningSystemManager)
{
this.warningSystemManager = warningSystemManager;
var names = warningSystemManager.GetWarningNames();
foreach (var name in names)
WarningNames.Add(name);
}
private void Ok()
{
var skips = WarningNames.Where(w => !w.IsRegistered).Select(w => w.UnityName).ToList();
warningSystemManager.SetSkipWarningName(skips);
FLY.ControlLibrary.Window_Tip.ShowShortTime("成功", $"{WarningNames.Count() - skips.Count()}个报警服务 需要注册关注");
}
}
public class WdWarningUnityNamesVmUt : WdWarningUnityNamesVm
{
public WdWarningUnityNamesVmUt()
{
WarningNames.Add(new WarningName() { UnityName = "测厚仪" });
WarningNames.Add(new WarningName() { UnityName = "风环" });
WarningNames.Add(new WarningName() { UnityName = "称重", IsRegistered = false });
}
}
}