using System; using Aitex.Core.RT.SCCore; using Aitex.Core.UI.MVVM; using MECF.Framework.Common.CommonData; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Net.Configuration; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using Aitex.Core.RT.Log; using Aitex.Core.Util; using DocumentFormat.OpenXml.Presentation; using MECF.Framework.Common.Equipment; using FurnaceRT.Equipments.PMs; using FurnaceRT.Equipments.Systems; namespace FurnaceRT.Backends { /// /// BackendPressureTuneView.xaml 的交互逻辑 /// public partial class BackendPressureTuneView : UserControl { public BackendPressureTuneView() { InitializeComponent(); this.Loaded += SCConfigView_Loaded; this.IsVisibleChanged += BackendSCConfigView_IsVisibleChanged; } private void BackendSCConfigView_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { if (this.DataContext == null) { DataContext = new BackendPressureTuneViewModel(); } (this.DataContext as BackendPressureTuneViewModel).Reload(""); } private void SCConfigView_Loaded(object sender, RoutedEventArgs e) { if (this.DataContext == null) { DataContext = new BackendPressureTuneViewModel(); } } } public class BackendPressureTuneViewModel : ViewModelBase { public ICommand SaveCommand { get; set; } public ICommand ReloadCommand { get; set; } public bool IsEnable1 { get; set; } public bool IsEnable2 { get; set; } public string Tuning1 { get; set; } public string Tuning2 { get; set; } public BackendPressureTuneViewModel() { Init(); SaveCommand = new DelegateCommand(PerformSave); ReloadCommand = new DelegateCommand(Reload); } private void PerformSave(string obj) { try { SC.SetItemValue($"PM.PM1.LeakCheck.EnableTuning", IsEnable1); SC.SetItemValue($"PM.PM2.LeakCheck.EnableTuning", IsEnable2); SC.SetItemValue($"PM.PM1.LeakCheck.TuningPercent", double.Parse(Tuning1)); SC.SetItemValue($"PM.PM2.LeakCheck.TuningPercent", double.Parse(Tuning2)); MessageBox.Show("Tune setting Saved"); } catch (Exception ex) { MessageBox.Show("value not valid, failed save setting"); LOG.Write(ex); } } public void Reload( string obj) { Init(); } void Init() { IsEnable1 = SC.GetValue($"PM.PM1.LeakCheck.EnableTuning"); Tuning1 = SC.GetValue($"PM.PM1.LeakCheck.TuningPercent").ToString("F2"); IsEnable2 = SC.GetValue($"PM.PM2.LeakCheck.EnableTuning"); Tuning2 = SC.GetValue($"PM.PM2.LeakCheck.TuningPercent").ToString("F2"); InvokeAllPropertyChanged(); } } }