From f1fac249aec3a5390152fa2a9a13e8da98283c3b Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 20 十二月 2024 18:19:21 +0800
Subject: [PATCH] 水池修改

---
 WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsTankMainDlg.cs |  137 +++++++++++++++++++++++++++------------------
 1 files changed, 81 insertions(+), 56 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsTankMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsTankMainDlg.cs
index b3b12f8..365dbf8 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsTankMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsTankMainDlg.cs
@@ -1,98 +1,123 @@
-锘縰sing DevExpress.Utils;
-using DevExpress.XtraEditors.Controls;
+锘縰sing DevExpress.XtraEditors;
 using HStation.Vmo;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Yw;
 
-namespace HStation.WinFrmUI.Assets
+namespace HStation.WinFrmUI
 {
     public partial class EditAssetsTankMainDlg : DevExpress.XtraEditors.XtraForm
     {
         public EditAssetsTankMainDlg()
         {
             InitializeComponent();
-            //  this.treeList1.InitialMultiColSettings();
             this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
+            this.layoutControl1.SetupLayoutControl();
+            this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent;
         }
 
-        private Vmo.AssetsTankMainVmo _TankVmo = null;
+        /// <summary>
+        /// 杩斿洖鏁版嵁浜嬩欢
+        /// </summary>
+        public event Action<HStation.Vmo.AssetsTankMainVmo> ReloadDataEvent;
 
-        private List<Vmo.AssetsTankCoefficientVmo> _AssetsTankCoefficient;
+        private HStation.Vmo.AssetsTankMainVmo _vmo = null;
 
-        public async void SetBindingData(Vmo.AssetsTankMainVmo TankVmo)
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public async void SetBindingData(HStation.Vmo.AssetsTankMainVmo vmo)
         {
-            var bll = new BLL.AssetsTankCoefficient();
-            _AssetsTankCoefficient = await bll.GetAll();
-            this.TankCoefficientViewModelBindingSource.DataSource = _AssetsTankCoefficient;
-
-            _TankVmo = TankVmo;
-            this.TextEditName.Text = _TankVmo.Name;
-            this.DescriptionTextEdit.Text = _TankVmo.Description;
-            this.TextEditKeyWord.Text = string.Join(",", _TankVmo.KeyWord);
-            this.selectFlagsPopupCtrl1.SetBindingData<AssetsFlags>(_TankVmo.Flags);
-            this.textEditDN.Text = _TankVmo.DN.ToString();
-            this.textEditMinLevel.Text = _TankVmo.MinLevel.ToString();
-            this.textEditMaxLevel.Text = _TankVmo.MaxLevel.ToString();
-            this.textEditMinVol.Text = _TankVmo.MinVol.ToString();
-            this.textEditVoerFlow.Checked = _TankVmo.OverFlow;
+            if (vmo == null)
+            {
+                return;
+            }
+            _vmo = new Vmo.AssetsTankMainVmo(vmo);
+            this.txtName.EditValue = vmo.Name;
+            this.txtKeyWord.EditValue = HStation.Service.Assets.KeyWordHelper.ToString(vmo.KeyWords);
+            var flags = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(HStation.Assets.DataType.TankMain);
+            this.setFlagsEditCtrl1.SetBindingData(flags?.Select(x => x.Name).ToList(), vmo.Flags);
+            this.txtTagName.EditValue = vmo.TagName;
+            this.txtDescription.EditValue = vmo.Description;
+            this.txtDN.Text = vmo.DN.ToString();
+            this.txtMinLevel.Text = vmo.MinLevel.ToString();
+            this.txtMaxLevel.Text = vmo.MaxLevel.ToString();
+            this.txtMinVol.Text = vmo.MinVol.ToString();
+            this.textEditVoerFlow.Checked = vmo.OverFlow;
         }
 
-        public event Func<Vmo.AssetsTankMainVmo, Task<bool>> ReloadDataEvent = null;
-
-        //鏁版嵁楠岃瘉
-        private bool Valid()
+        //楠岃瘉
+        private async Task<bool> Valid()
         {
             this.dxErrorProvider1.ClearErrors();
-            if (string.IsNullOrEmpty(TextEditName.Text.Trim()))
+            if (string.IsNullOrEmpty(this.txtName.Text.Trim()))
             {
-                this.dxErrorProvider1.SetError(this.TextEditName, "蹇呭~椤�");
+                this.dxErrorProvider1.SetError(this.txtName, "蹇呭~椤�");
                 return false;
+            }
+            var tagname = this.txtTagName.Text.Trim();
+            if (!string.IsNullOrEmpty(tagname))
+            {
+                if (await BLLFactory<HStation.BLL.AssetsTankMain>.Instance.IsExistTagNameExceptID(tagname, _vmo.ID))
+                {
+                    this.dxErrorProvider1.SetError(this.txtTagName, "閲嶅");
+                    return false;
+                }
             }
             return true;
         }
 
-        //瀹屾垚
-        private async void BtnOk_ClickAsync(object sender, EventArgs e)
+        //纭畾
+        private async void GeneralOkAndCancelCtrl1_OkEvent()
         {
-            if (!(Valid()))
+            if (_vmo == null)
+            {
                 return;
-            _TankVmo.Description = DescriptionTextEdit.Text.Trim();
-            _TankVmo.Name = TextEditName.Text.Trim();
-            _TankVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
-            _TankVmo.Flags = this.selectFlagsPopupCtrl1.SelectedFlags;
-            if (double.TryParse(this.textEditDN.Text, out double DN))
-            {
-                _TankVmo.DN = DN;
             }
-            if (double.TryParse(this.textEditMinLevel.Text, out double MinLevel))
+            if (!await Valid())
             {
-                _TankVmo.MinLevel = MinLevel;
+                return;
             }
-            if (double.TryParse(this.textEditMaxLevel.Text, out double MaxLevel))
+            _vmo.Name = this.txtName.Text.Trim();
+            _vmo.KeyWords = HStation.Service.Assets.KeyWordHelper.ToList(this.txtKeyWord.Text.Trim());
+            _vmo.Flags = this.setFlagsEditCtrl1.SelectedFlagList;
+            _vmo.TagName = this.txtTagName.Text.Trim();
+            _vmo.Description = this.txtDescription.Text.Trim();
+            if (double.TryParse(this.txtDN.Text, out double DN))
             {
-                _TankVmo.MaxLevel = MaxLevel;
+                _vmo.DN = DN;
             }
-            if (double.TryParse(this.textEditMinVol.Text, out double MinVol))
+            if (double.TryParse(this.txtMinLevel.Text, out double MinLevel))
             {
-                _TankVmo.MinVol = MinVol;
+                _vmo.MinLevel = MinLevel;
             }
-            _TankVmo.OverFlow = this.textEditVoerFlow.Checked;
-            if (await this.ReloadDataEvent.Invoke(_TankVmo))
+            if (double.TryParse(this.txtMaxLevel.Text, out double MaxLevel))
             {
-                TipFormHelper.ShowSucceed("淇敼鎴愬姛!");
+                _vmo.MaxLevel = MaxLevel;
             }
-            else
+            if (double.TryParse(this.txtMinVol.Text, out double MinVol))
             {
-                TipFormHelper.ShowSucceed("淇敼澶辫触!");
+                _vmo.MinVol = MinVol;
             }
+            _vmo.OverFlow = this.textEditVoerFlow.Checked;
+
+            var bol = await BLLFactory<HStation.BLL.AssetsTankMain>.Instance.Update(_vmo);
+            if (!bol)
+            {
+                TipFormHelper.ShowError("鏇存柊澶辫触锛�");
+                return;
+            }
+            var vmo = await BLLFactory<HStation.BLL.AssetsTankMain>.Instance.GetByID(_vmo.ID);
+            this.ReloadDataEvent?.Invoke(vmo);
             this.DialogResult = DialogResult.OK;
             this.Close();
-        }
-
-        private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
-        {
-            var vm = this.treeList1.GetCurrentViewModel(_AssetsTankCoefficient);
-            if (vm == null)
-                return;
-            this.TextEditMinorLoss.Text = vm.MinorLoss.ToString();
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3