| | |
| | | using System; |
| | | using System.ComponentModel; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | using HMI.Base; |
| | | using HMI.Base; |
| | | using HMI.Core.Util; |
| | | using HMI.MenuManage.Entity; |
| | | using HMI.MenuManage.Model; |
| | | using HMI.UI.Util; |
| | | using log4net; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | |
| | | namespace HMI.MenuManage |
| | | { |
| | |
| | | /// </summary> |
| | | public partial class MenuManage : PluginControl |
| | | { |
| | | #region ... |
| | | public virtual event PropertyChangedEventHandler PropertyChanged; |
| | | |
| | | protected virtual void RaisePropertyChanged(string name) |
| | | { |
| | | |
| | | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); |
| | | } |
| | | |
| | | protected void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null) |
| | | { |
| | | old = @new; |
| | | if (propertyName != null) |
| | | { |
| | | RaisePropertyChanged(propertyName); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 属性 |
| | | private MenuManageModel Model; |
| | | private ILog log; |
| | | |
| | | #endregion |
| | | |
| | | public MenuManage() |
| | |
| | | InitializeComponent(); |
| | | } |
| | | |
| | | #region 属性 |
| | | |
| | | #endregion |
| | | |
| | | private void Button_Click(object sender, System.Windows.RoutedEventArgs e) |
| | | private void Button_Click(object sender, RoutedEventArgs e) |
| | | { |
| | | var btn = ((Button)sender); |
| | | if (btn.Name == "addBtn") |
| | |
| | | { |
| | | MenuModal window = new MenuModal |
| | | { |
| | | Title = "新增菜单", |
| | | Title = $"{LangUtil.Get("HMI.Menu.Add")}", |
| | | sqliteHelper = Model.sqliteHelper, |
| | | Owner = Window.GetWindow(this) |
| | | }; |
| | |
| | | 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") |
| | |
| | | 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 == "deleteBtn") { } |
| | | else if (btn.Name == "deleteBatchBtn") |
| | | { |
| | | try |
| | | { |
| | | List<string> 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.Menu.NoDeleteData")); |
| | | return; |
| | | } |
| | | |
| | | var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), |
| | | string.Format(LangUtil.Get("HMI.Menu.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 = "编辑菜单", |
| | | Title = $"{LangUtil.Get("HMI.Menu.Edit")}", |
| | | sqliteHelper = Model.sqliteHelper, |
| | | Owner = Window.GetWindow(this) |
| | | }; |
| | |
| | | } |
| | | 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), $"确定删除[{data.Name}]吗?该操作不可逆!"); |
| | | var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), |
| | | string.Format(LangUtil.Get("HMI.Menu.MakeSureDeleteSingle"), data.Name)); |
| | | if (res == MessageBoxResult.OK) |
| | | { |
| | | Model.DeleteMenuById(data.Id); |
| | |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Delete Menu Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("HMI.DeleteFailed")}: {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | |
| | | private void treeViewer_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) |
| | | { |
| | | table.SelectedItem = e.NewValue; |
| | | } |
| | | |
| | | public void SetLogger(ILog logger) |
| | | { |
| | | this.log = logger; |
| | | } |
| | | } |
| | | } |