| | |
| | | using System; |
| | | using System.ComponentModel; |
| | | using System.Runtime.CompilerServices; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | using log4net; |
| | | using log4net.Repository.Hierarchy; |
| | | using Panuon.WPF.UI; |
| | | using HMI.Core.Api; |
| | | using HMI.Base; |
| | | using HMI.MenuManage.Entity; |
| | | using HMI.MenuManage.Model; |
| | | using HMI.Base; |
| | | using HMI.UI.Util; |
| | | using Panuon.WPF.UI; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | |
| | | namespace HMI.MenuManage |
| | | { |
| | |
| | | /// </summary> |
| | | public partial class RoleManage : 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 RoleManageModel Model; |
| | | private ILog log; |
| | | |
| | | #endregion |
| | | |
| | | public RoleManage() |
| | |
| | | #region 属性 |
| | | |
| | | #endregion |
| | | |
| | | public object Active() |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | public object DeActive() |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | public object Init() |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | public void OnTabChange(object sender, object args) |
| | | { |
| | | } |
| | | |
| | | private void Button_Click(object sender, RoutedEventArgs e) |
| | | { |
| | | try |
| | |
| | | Button btn = (Button)sender; |
| | | if (btn.Name == "addBtn") |
| | | { |
| | | RoleModal modal = new RoleModal |
| | | try |
| | | { |
| | | Title = "新增角色", |
| | | Owner = Window.GetWindow(this), |
| | | sqliteHelper = Model.sqliteHelper |
| | | }; |
| | | if (modal.Open(new RoleData()) == true) |
| | | RoleModal modal = new RoleModal |
| | | { |
| | | Title = "新增角色", |
| | | Owner = Window.GetWindow(this), |
| | | sqliteHelper = Model.sqliteHelper |
| | | }; |
| | | if (modal.Open(new RoleData()) == true) |
| | | { |
| | | Model.LoadData(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Model.LoadData(); |
| | | log.Error("Add Role Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"新增失败!{ex.Message}"); |
| | | } |
| | | } |
| | | else if (btn.Name == "refreshBtn") |
| | | { |
| | | Model.LoadData(); |
| | | try |
| | | { |
| | | Model.LoadData(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Refresh Role Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"刷新失败!{ex.Message}"); |
| | | } |
| | | } |
| | | else if (btn.Name == "menuBtn") |
| | | { |
| | | Model.LoadRelData((RoleData)btn.DataContext); |
| | | try |
| | | { |
| | | Model.LoadRelData((RoleData)btn.DataContext); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Load Role-Menu Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"刷新角色失败!{ex.Message}"); |
| | | } |
| | | } |
| | | else if (btn.Name == "editBtn") |
| | | { |
| | | RoleModal modal = new RoleModal |
| | | try |
| | | { |
| | | Title = "编辑角色", |
| | | Owner = Window.GetWindow(this), |
| | | sqliteHelper = Model.sqliteHelper |
| | | }; |
| | | if (modal.Open((RoleData)btn.DataContext) == true) |
| | | RoleModal modal = new RoleModal |
| | | { |
| | | Title = "编辑角色", |
| | | Owner = Window.GetWindow(this), |
| | | sqliteHelper = Model.sqliteHelper |
| | | }; |
| | | if (modal.Open((RoleData)btn.DataContext) == true) |
| | | { |
| | | Model.LoadData(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Model.LoadData(); |
| | | log.Error("Edit Role Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"编辑失败!{ex.Message}"); |
| | | } |
| | | } |
| | | else if (btn.Name == "deleteBatchBtn") |
| | | { |
| | | try |
| | | { |
| | | List<string> codes = Model.DataSource.Where(x => x.Selected).Select(x => x.Code).ToList(); |
| | | if (codes == null || codes.Count <= 0) |
| | | { |
| | | ToastHelper.Warning(Window.GetWindow(this), "请选择要删除的角色!"); |
| | | return; |
| | | } |
| | | |
| | | var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), |
| | | $"确定删除选中的[{codes.Count}]条角色吗?该操作不可逆!"); |
| | | if (res == MessageBoxResult.OK) |
| | | { |
| | | Model.DeleteRoleByCodes(codes); |
| | | Model.LoadData(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Delete Role Batch Failed.", ex); |
| | | ToastHelper.Error(Window.GetWindow(this), $"删除失败!{ex.Message}"); |
| | | } |
| | | } |
| | | else if (btn.Name == "delBtn") |
| | | { |
| | | try |
| | | { |
| | | Model.DelSingleData((RoleData)btn.DataContext); |
| | | var data = (RoleData)((Button)sender).DataContext; |
| | | var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), |
| | | $"确定删除角色[{data.Name}]吗?该操作不可逆!"); |
| | | if (res == MessageBoxResult.OK) |
| | | { |
| | | Model.DelSingleData(data); |
| | | Model.LoadData(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Delete Role Failed.", ex); |
| | | Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "删除失败", ToastPosition.Top); |
| | | Toast.Show((WindowX)Window.GetWindow(this), "删除失败", ToastPosition.Top); |
| | | } |
| | | } |
| | | else if (btn.Name == "saveMenuBtn") |
| | |
| | | try |
| | | { |
| | | Model.SaveRelData(Model.SelectedValue); |
| | | Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "保存成功", ToastPosition.Top); |
| | | Toast.Show((WindowX)Window.GetWindow(this), "保存成功", ToastPosition.Top); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("Save Role-Menu Failed.", ex); |
| | | Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "保存失败", ToastPosition.Top); |
| | | Toast.Show((WindowX)Window.GetWindow(this), "保存失败", ToastPosition.Top); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.Error("123", ex); |
| | | log.Error("Something Error...", ex); |
| | | } |
| | | } |
| | | |
| | | public void SetLogger(ILog logger) |
| | | { |
| | | this.log = logger; |
| | | } |
| | | } |
| | | } |