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