| | |
| | | using HMI.Core.Util; |
| | | using HMI.ParameterManage.Entity; |
| | | using HMI.UI; |
| | | using HMI.ParameterManage.Model; |
| | | using HMI.UI.DpUtil; |
| | | |
| | | namespace HMI.ParameterManage |
| | | { |
| | |
| | | /// </summary> |
| | | public partial class ProductModal : WindowX |
| | | { |
| | | public ProductModal() |
| | | |
| | | private XmlModel DataModel; |
| | | |
| | | public ProductModal(XmlModel dataModel) |
| | | { |
| | | DataModel = dataModel; |
| | | this.DataContext = this; |
| | | InitializeComponent(); |
| | | } |
| | | |
| | | public ProductData Data { get; set; } |
| | | |
| | | public SqliteHelper sqliteHelper { get; set; } |
| | | |
| | | private bool _isProcessing; |
| | | |
| | |
| | | return; |
| | | } |
| | | |
| | | SaveOrUpdateData(); |
| | | DataModel.SaveOrUpdateData(Data); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | base.OnClosing(e); |
| | | } |
| | | |
| | | private bool ValidateName(object value, out string msg) |
| | | { |
| | | return DataModel.ValidateProductName(value, out msg); |
| | | } |
| | | |
| | | private bool ValidateForm() |
| | | { |
| | | try |
| | | bool flag = FormGroupHelper.ValidateForm(formPanel); |
| | | if (flag) |
| | | { |
| | | |
| | | // |
| | | |
| | | FormValidateException ex = new FormValidateException(); |
| | | string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'"; |
| | | string sql = $"SELECT 1 FROM product WHERE name='{TbName.Text}'{segment};"; |
| | | if (string.IsNullOrEmpty(TbName.Text)) |
| | | { |
| | | ex.Result.Add(new FormGroupValidateResult("请输入产品名称", FgName)); |
| | | } |
| | | else if (sqliteHelper.HasData(sql)) |
| | | { |
| | | ex.Result.Add(new FormGroupValidateResult("产品名称不能重复", FgName)); |
| | | } |
| | | else |
| | | { |
| | | FgName.ValidateResult = ValidateResult.None; |
| | | FgName.Message = null; |
| | | } |
| | | |
| | | if (!ex.Success) |
| | | { |
| | | throw ex; |
| | | } |
| | | } |
| | | catch (FormValidateException ex) |
| | | { |
| | | foreach (var data in ex.Result) |
| | | { |
| | | var fg = (FormGroup)data.Sender; |
| | | fg.ValidateResult = ValidateResult.Error; |
| | | fg.Message = data.Message; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | Data.Name = TbName.Text; |
| | | Data.IsMaster = TbIsMaster.IsChecked == true; |
| | | Data.ParentId = TbParentId.Text; |
| | | return true; |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | public bool? Open(ProductData data) |
| | |
| | | TbParentId.Text = Data.ParentId; |
| | | |
| | | return this.ShowDialog(); |
| | | } |
| | | |
| | | private void SaveOrUpdateData() |
| | | { |
| | | if (string.IsNullOrEmpty(Data.Id)) |
| | | { |
| | | InsertData(Data); |
| | | } |
| | | else |
| | | { |
| | | UpdateData(Data); |
| | | } |
| | | } |
| | | |
| | | public void InsertData(ProductData data) |
| | | { |
| | | string sql = $@"INSERT INTO product (name,isMaster,parentId) |
| | | VALUES |
| | | ('{data.Name}',{(data.IsMaster ? 1 : 0)} ,{data.ParentId} );"; |
| | | sqliteHelper.ExecuteSql(sql); |
| | | } |
| | | |
| | | |
| | | |
| | | public void UpdateData(ProductData data) |
| | | { |
| | | string sql = $@"UPDATE product SET name='{data.Name}',isMaster='{(data.IsMaster ? 1 : 0)}',parentId = {data.ParentId} |
| | | WHERE id='{data.Id}';"; |
| | | sqliteHelper.ExecuteSql(sql); |
| | | } |
| | | } |
| | | } |