using System.Collections.ObjectModel;
|
using System.Data;
|
using HMI.Core.Entity;
|
using HMI.Core.Util;
|
using HMI.ParameterManage.Entity;
|
|
namespace HMI.ParameterManage
|
{
|
public class ControlModel : NotifyBase
|
{
|
public ControlModel(SqliteHelper sqliteHelper)
|
{
|
SqliteHelper = sqliteHelper;
|
}
|
|
public SqliteHelper SqliteHelper { get; private set; }
|
|
private ObservableCollection<ProductData> products;
|
|
public ObservableCollection<ProductData> Products
|
{
|
get { return products; }
|
set { Set(ref products, value); }
|
}
|
|
private ObservableCollection<ParameterData> parameters;
|
|
public ObservableCollection<ParameterData> Parameters
|
{
|
get { return parameters; }
|
set { Set(ref parameters, value); }
|
}
|
|
private ProductData selectedProduct;
|
|
public ProductData SelectedProduct
|
{
|
get { return selectedProduct; }
|
set
|
{
|
Set(ref selectedProduct, value);
|
LoadParameters();
|
}
|
}
|
|
public void LoadProducts()
|
{
|
DataTable dt = SqliteHelper.GetDataTable("SELECT * FROM product ORDER BY id;");
|
ObservableCollection<ProductData> products = new ObservableCollection<ProductData>();
|
|
if (dt != null)
|
{
|
foreach (DataRow dr in dt.Rows)
|
{
|
var p = new ProductData
|
{
|
Id = dr["id"].ToString(),
|
Name = dr["name"].ToString(),
|
IsMaster = dr["isMaster"].ToString() == "1",
|
ParentId = dr["parentId"].ToString(),
|
};
|
products.Add(p);
|
}
|
}
|
Products = products;
|
}
|
|
public void LoadParameters()
|
{
|
|
ObservableCollection<ParameterData> parameters = new ObservableCollection<ParameterData>();
|
if (SelectedProduct != null)
|
{
|
|
DataTable dt = SqliteHelper.GetDataTable($"SELECT * FROM parameter WHERE productName='{SelectedProduct.Name}' ORDER BY id;");
|
if (dt != null)
|
{
|
foreach (DataRow dr in dt.Rows)
|
{
|
var p = new ParameterData
|
{
|
Id = dr["id"].ToString(),
|
Name = dr["name"].ToString(),
|
Value = dr["value"].ToString(),
|
Unit = dr["unit"].ToString(),
|
Description = dr["description"].ToString(),
|
PGroup = dr["pGroup"].ToString(),
|
ProductName = dr["productName"].ToString(),
|
};
|
parameters.Add(p);
|
}
|
}
|
|
}
|
Parameters = parameters;
|
}
|
}
|
}
|