using HMI.Base; using HMI.Core.Util; using HMI.MenuManage.Entity; using HMI.MenuManage.Model; using HMI.UI.Util; using System; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; namespace HMI.MenuManage { /// /// UserControl1.xaml 的交互逻辑 /// public partial class MenuManage : PluginControl { #region 属性 private MenuManageModel Model; #endregion public MenuManage() { Model = new MenuManageModel(); this.DataContext = Model; InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { var btn = ((Button)sender); if (btn.Name == "addBtn") { try { MenuModal window = new MenuModal { Title = $"{LangUtil.Get("HMI.Menu.Add")}", sqliteHelper = Model.sqliteHelper, Owner = Window.GetWindow(this) }; if (true == window.Open(new MenuData())) { MenuData data = window.Data; Model.LoadData(); } } catch (Exception ex) { log.Error("Add Menu Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.AddFailed")}: {ex.Message}"); } } else if (btn.Name == "refreshBtn") { try { Model.LoadData(); } catch (Exception ex) { log.Error("Refresh Menu List Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.RefreshFailed")}: {ex.Message}"); } } else if (btn.Name == "deleteBatchBtn") { try { List ids = Model.DataSource.Where(x => x.Selected).Select(x => x.Id).ToList(); if (ids == null || ids.Count <= 0) { ToastHelper.Warning(Window.GetWindow(this), LangUtil.Get("HMI.NoDeleteData")); return; } var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), string.Format(LangUtil.Get("HMI.MakeSureDeletes"), ids.Count)); if (res == MessageBoxResult.OK) { Model.DeleteMenuByIds(ids); Model.LoadData(); } } catch (Exception ex) { log.Error("Delete Menu Batch Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.DeleteFailed")}: {ex.Message}"); } } else if (btn.Name == "editBtn") { try { var data = (MenuData)btn.DataContext; MenuModal window = new MenuModal { Title = $"{LangUtil.Get("HMI.Menu.Edit")}", sqliteHelper = Model.sqliteHelper, Owner = Window.GetWindow(this) }; if (true == window.Open(data)) { var newData = window.Data; Model.LoadData(); } } catch (Exception ex) { log.Error("Edit Menu Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("HMI.EditFailed")}: {ex.Message}"); } } else if (btn.Name == "delBtn") { try { var data = (MenuData)((Button)sender).DataContext; var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), string.Format(LangUtil.Get("HMI.MakeSureDeleteSingle"), data.Name)); if (res == MessageBoxResult.OK) { Model.DeleteMenuById(data.Id); Model.LoadData(); } } catch (Exception ex) { log.Error("Delete Menu Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("HMI.DeleteFailed")}: {ex.Message}"); } } } private void DataGrid_Loaded(object sender, RoutedEventArgs e) { Model.LoadData(); Loaded -= DataGrid_Loaded; } private void treeViewer_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e) { table.SelectedItem = e.NewValue; } } }