using HMI.Base; using HMI.Core.Util; using HMI.MenuManage.Entity; using HMI.MenuManage.Model; 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 { /// /// UserControl1.xaml 的交互逻辑 /// public partial class RoleManage : PluginControl { #region 属性 private RoleManageModel Model; #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; } private void Button_Click(object sender, RoutedEventArgs e) { try { Button btn = (Button)sender; if (btn.Name == "addBtn") { try { RoleModal modal = new RoleModal { Title = this.lang("HMI.Role.Add"), Owner = Window.GetWindow(this), sqliteHelper = Model.sqliteHelper }; if (modal.Open(new RoleData()) == true) { Model.LoadData(); } } catch (Exception ex) { log.Error("Add Role 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 Role Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.RefreshFailed")}: {ex.Message}"); } } else if (btn.Name == "menuBtn") { try { Model.LoadRelData((RoleData)btn.DataContext); } catch (Exception ex) { log.Error("Load Role-Menu Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.RefreshFailed")}: {ex.Message}"); } } else if (btn.Name == "editBtn") { try { RoleModal modal = new RoleModal { Title = this.lang("HMI.Role.Edit"), Owner = Window.GetWindow(this), sqliteHelper = Model.sqliteHelper }; if (modal.Open((RoleData)btn.DataContext) == true) { Model.LoadData(); } } catch (Exception ex) { log.Error("Edit Role Failed.", ex); ToastHelper.Error(Window.GetWindow(this), $"{LangUtil.Get("App.EditFailed")}: {ex.Message}"); } } else if (btn.Name == "deleteBatchBtn") { try { List codes = Model.DataSource.Where(x => x.Selected).Select(x => x.Code).ToList(); if (codes == null || codes.Count <= 0) { ToastHelper.Warning(Window.GetWindow(this), this.lang("HMI.NoDeleteData")); return; } var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeletes", 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), $"{LangUtil.Get("App.DeleteFailed")}: {ex.Message}"); } } else if (btn.Name == "delBtn") { try { var data = (RoleData)((Button)sender).DataContext; var res = MsgBoxHelper.WarnMessage(Window.GetWindow(this), this.lang("HMI.MakeSureDeleteSingle", data.Name)); if (res == MessageBoxResult.OK) { Model.DelSingleData(data); Model.LoadData(); } } catch (Exception ex) { log.Error("Delete Role Failed.", ex); Toast.Show((WindowX)Window.GetWindow(this), LangUtil.Get("App.DeleteFailed"), ToastPosition.Top); } } else if (btn.Name == "saveMenuBtn") { try { Model.SaveRelData(Model.SelectedValue); Toast.Show((WindowX)Window.GetWindow(this), LangUtil.Get("App.SaveSuccess"), ToastPosition.Top); } catch (Exception ex) { log.Error("Save Role-Menu Failed.", ex); Toast.Show((WindowX)Window.GetWindow(this), LangUtil.Get("App.SaveFailed"), ToastPosition.Top); } } } catch (Exception ex) { log.Error("Something Error...", ex); } } } }