using System.IO;
|
using System.Windows;
|
using System.Windows.Controls;
|
using HMI.Base;
|
using HMI.Core.Util;
|
using HMI.ParameterManage.Entity;
|
using HMI.UI.Util;
|
|
namespace HMI.ParameterManage
|
{
|
/// <summary>
|
/// UserControl1.xaml 的交互逻辑
|
/// </summary>
|
public partial class ParameterManage : PluginControl
|
{
|
private ControlModel Model;
|
private SqliteHelper SqliteHelper;
|
|
public ParameterManage()
|
{
|
InitializeComponent();
|
}
|
|
public override void InitFinish()
|
{
|
string dbpath = Path.Combine(BaseFolder, "ParameterManage.db");
|
if (!File.Exists(dbpath))
|
{
|
SqliteHelper.CreateDatabase(dbpath);
|
}
|
SqliteHelper = new SqliteHelper(dbpath);
|
SqliteHelper.ExecuteSql(@"CREATE TABLE IF NOT EXISTS product (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
name TEXT NOT NULL,
|
isMaster INTEGER,
|
parentId INTEGER,
|
UNIQUE(name)
|
);
|
CREATE TABLE IF NOT EXISTS parameter (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
name TEXT NOT NULL,
|
value TEXT,
|
unit TEXT,
|
description TEXT,
|
pGroup TEXT,
|
productName TEXT,
|
UNIQUE(productName,name)
|
);
|
");
|
Model = new ControlModel(SqliteHelper);
|
DataContext = Model;
|
}
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
{
|
Model.LoadProducts();
|
Loaded -= UserControl_Loaded;
|
}
|
|
private void Button_Click(object sender, RoutedEventArgs e)
|
{
|
var btn = (Button)sender;
|
switch (btn.Name)
|
{
|
case "addBtn":
|
OpenAddDialog();
|
break;
|
case "refrshBtn":
|
Model.LoadProducts();
|
break;
|
case "refreshParameterBtn":
|
Model.LoadParameters();
|
break;
|
case "addParameterBtn":
|
OpenAddParameterDialog(null);
|
break;
|
case "editParameterBtn":
|
OpenAddParameterDialog((ParameterData)btn.DataContext);
|
break;
|
default:
|
break;
|
}
|
}
|
|
private void OpenAddDialog()
|
{
|
var win = new ProductModal
|
{
|
Title = "新增产品",
|
Owner = Window.GetWindow(this),
|
sqliteHelper = SqliteHelper
|
};
|
if (win.Open(new ProductData()) == true)
|
{
|
Model.LoadProducts();
|
}
|
}
|
|
private void OpenAddParameterDialog(ParameterData data)
|
{
|
if (Model.SelectedProduct == null)
|
{
|
ToastHelper.Warning(Window.GetWindow(this), "请先选择一项产品");
|
return;
|
}
|
var win = new ParameterModal
|
{
|
Title = data == null ? "新增参数" : "编辑参数",
|
Owner = Window.GetWindow(this),
|
sqliteHelper = SqliteHelper
|
};
|
if (win.Open(data ?? new ParameterData { ProductName = Model.SelectedProduct.Name }) == true)
|
{
|
Model.LoadParameters();
|
}
|
}
|
|
}
|
}
|