duheng
2025-01-19 f10f00cf1739b49fe51abfbb96093a2a2f66a65c
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/18-exchanger/AssetsExchangerSingleMatchingCtrl.cs
@@ -1,15 +1,4 @@
using DevExpress.XtraBars.Ribbon.Drawing;
using DevExpress.XtraEditors;
using DevExpress.XtraMap;
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 System.Data;
namespace HStation.WinFrmUI
{
@@ -20,7 +9,7 @@
            InitializeComponent();
            this.layoutControl1.SetupLayoutControl();
            this.gridView1.SetLimitView();
            this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White);
            this.gridView1.RegistCustomDrawCell();
            this.generalSearchCtrl1.SearchEvent += Search;
            this.generalSearchCtrl1.ClearEvent += Clear;
            this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
@@ -32,6 +21,8 @@
        private AssetsExchangerSingleMatchingViewModel _row;
        private ExchangerMatchingViewModel _viewModel;
        private long? _curveDbId;
        public class ExchangerMatchingViewModel
        {
@@ -47,15 +38,22 @@
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async void SetBindingData(string dbId)
        public async void SetBindingData(string dbId, string curveDbId)
        {
            var allList = await BLLFactory<HStation.BLL.AssetsExchangerMain>.Instance.GetAll();
            _allList = new List<AssetsExchangerSingleMatchingViewModel>();
            allList.ForEach(x => _allList.Add(new AssetsExchangerSingleMatchingViewModel(x)));
            if (long.TryParse(dbId, out long id))
            if (allList != null)
            {
                var item = allList?.Find(x => x.ID == id);
                _selected = item;
                _allList = new List<AssetsExchangerSingleMatchingViewModel>();
                allList.ForEach(x => _allList.Add(new AssetsExchangerSingleMatchingViewModel(x)));
                if (long.TryParse(dbId, out long id))
                {
                    var item = allList?.Find(x => x.ID == id);
                    _selected = item;
                }
                if (long.TryParse(curveDbId, out long curveId))
                {
                    _curveDbId = curveId;
                }
            }
            Search();
            await Task.Delay(300);
@@ -137,15 +135,14 @@
            }
            _row = row;
            _viewModel.Vmo = row.Vmo;
            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ExchangerMain, row.Vmo.ID);
            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ExchangerMain, row.Vmo.ID, _curveDbId);
        }
        //曲线数据关联变化
        private void SelectData(List<PhartDiagramRelationExtensionsVmo> list)
        private void SelectData(PhartDiagramRelationExtensionsVmo def)
        {
            if (list != null && list.Count > 0)
            if (def != null)
            {
                var def = list.OrderByDescending(x => x.Importance).First();
                _viewModel.MatchingCurveDbId = def.ID.ToString();
                var curve = def.Diagram.GraphList[0].GetFeatPointList();