using HMI.Base; using HMI.Core.Entity; using HMI.Core.Util; using HMI.ParameterManage.Model; using HMI.UI.Util; using System.Linq; using System.Windows; using System.Windows.Controls; namespace HMI.ParameterManage { /// /// UserControl1.xaml 的交互逻辑 /// public partial class ParameterManage : PluginControl { private XmlModel Model; public ParameterManage() { InitializeComponent(); } public override void InitFinish() { Model = new XmlModel(BaseFolder); DataContext = Model; } private void UserControl_Loaded(object sender, RoutedEventArgs e) { Model.LoadProducts(); Loaded -= UserControl_Loaded; } private void Button_Click(object sender, RoutedEventArgs e) { var btn = (Button)sender; switch (btn.Name) { case "addBtn": OpenProductDialog(null); break; case "refreshBtn": Model.LoadProducts(); break; case "editProductBtn": OpenProductDialog((ProductData)btn.DataContext); break; case "delProductBtn": TryDeleteProduct((ProductData)btn.DataContext); break; case "delBatchBtn": TryDeleteProducts(); break; case "refrshBtn": Model.LoadProducts(); break; case "refreshParameterBtn": Model.LoadParameters(); break; case "addParameterBtn": OpenAddParameterDialog(null); break; case "editParameterBtn": OpenAddParameterDialog((ParameterData)btn.DataContext); break; case "delParameterBtn": TryDeleteParameter((ParameterData)btn.DataContext); break; case "deleteBatchParameterBtn": TryDeleteParameters(); break; default: break; } } private void OpenProductDialog(ProductData data) { var win = new ProductModal(Model) { Title = data == null ? this.lang("Pm.Product.Add") : this.lang("Pm.Product.Edit"), Owner = Window.GetWindow(this), }; if (win.Open(data ?? new ProductData(), data != null) == true) { Model.LoadProducts(); } } private void OpenAddParameterDialog(ParameterData data) { if (Model.SelectedProduct == null) { ToastHelper.Warning(Window.GetWindow(this), this.lang("Pm.PleaseSelectProduct")); return; } var win = new ParameterModal(Model) { Title = data == null ? this.lang("Pm.Parameter.Add") : this.lang("Pm.Parameter.Edit"), Owner = Window.GetWindow(this), }; if (win.Open(Model.SelectedProduct.Name, data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }, Model.groups) == true) { Model.LoadParameters(); } } private void TryDeleteProduct(ProductData data) { if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name)) == MessageBoxResult.OK) { Model.DeleteProduct(data); Model.LoadProducts(); } } private void TryDeleteProducts() { var temp = Model.Products.Where(p => p.IsSelected).Count(); if (temp <= 0) { this.Warning(this.lang("HMI.NoDeleteData")); return; } if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp)) == MessageBoxResult.OK) { Model.DeleteProducts(); Model.LoadProducts(); } } private void TryDeleteParameter(ParameterData data) { if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name)) == MessageBoxResult.OK) { Model.DeleteParameter(data); Model.LoadParameters(); } } private void TryDeleteParameters() { var temp = Model.Parameters.Where(p => p.IsSelected).Count(); if (temp <= 0) { this.Warning(this.lang("HMI.NoDeleteData")); return; } if (MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", temp)) == MessageBoxResult.OK) { Model.DeleteParameters(); Model.LoadParameters(); } } } }