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.MenuManage.Entity; using HMI.MenuManage.Model; using HMI.Base; namespace HMI.MenuManage { /// /// UserControl1.xaml 的交互逻辑 /// 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(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() { Model = new RoleManageModel(); this.DataContext = Model; this.Loaded += RoleManage_Loaded; InitializeComponent(); } private void RoleManage_Loaded(object sender, RoutedEventArgs e) { Model.LoadData(); this.Loaded -= RoleManage_Loaded; } #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 { Title = "新增角色", Owner = Window.GetWindow(this), sqliteHelper = Model.sqliteHelper }; if (modal.Open(new RoleData()) == true) { Model.LoadData(); } } else if (btn.Name == "refreshBtn") { Model.LoadData(); } else if (btn.Name == "menuBtn") { Model.LoadRelData((RoleData)btn.DataContext); } else if (btn.Name == "editBtn") { RoleModal modal = new RoleModal { Title = "编辑角色", Owner = Window.GetWindow(this), sqliteHelper = Model.sqliteHelper }; if (modal.Open((RoleData)btn.DataContext) == true) { Model.LoadData(); } } else if (btn.Name == "delBtn") { try { Model.DelSingleData((RoleData)btn.DataContext); } catch (Exception ex) { log.Error("Delete Role Failed.", ex); Panuon.WPF.UI.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); } catch (Exception ex) { log.Error("Save Role-Menu Failed.", ex); Panuon.WPF.UI.Toast.Show((WindowX)Window.GetWindow(this), "保存失败", ToastPosition.Top); } } } catch (Exception ex) { log.Error("123", ex); } } public void SetLogger(ILog logger) { this.log = logger; } } }