duheng
2024-12-05 7e5fcbee07c65bed3333eb295d0d5117df46b939
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/03-valve/01-valvesinglematching/ValveSingleMatchingCtrl.cs
@@ -18,6 +18,9 @@
            public string OtherName { get; set; }
            public int Importance { get; set; }
            public int SortCode { get; set; }
            public string MinorLossCurve { get; set; }
            public string OpenLossCurve { get; set; }
        }
        public class CurvieInfo
@@ -34,13 +37,13 @@
        private List<PhartViewModel> _allPhartList = null;
        private readonly Lazy<BLL.AssetsValveCoefficient> _bll_ex = new();
        private HydroValveMatchingViewModel _pumpMatchingViewModel;
        private HydroValveMatchingViewModel _valveMatchingViewModel;
        private List<HydroCurvePointViewModel> _currentCurvePoint;
        public async void SetBindingData(HydroValveMatchingViewModel valveMatchingViewModel)
        {
            _pumpMatchingViewModel = valveMatchingViewModel;
            _valveMatchingViewModel = valveMatchingViewModel;
            _allBindingList = new List<ValveSingleMatchingViewModel>();
            _valveBll = new BLL.AssetsValveMain();
            var allAssetsPumpMain = await _valveBll.GetAll();
@@ -49,7 +52,7 @@
                _allBindingList.Add(new ValveSingleMatchingViewModel(Main));
            }
            this.valveSingleMatchingViewModelBindingSource.DataSource = _allBindingList;
            this.searchControl1.Text = _pumpMatchingViewModel.ModelType;
            this.searchControl1.Text = _valveMatchingViewModel.ModelType;
            for (int i = 0; i < _allBindingList.Count; i++)
            {
                if (long.TryParse(valveMatchingViewModel.DbId, out long dbID))
@@ -78,30 +81,30 @@
                {
                    layoutControlGroup2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
                }
                _pumpMatchingViewModel.MatchingDbId = vm.ID.ToString();
                _pumpMatchingViewModel.MatchingModelType = vm.Name.ToString();
                _valveMatchingViewModel.MatchingDbId = vm.ID.ToString();
                _valveMatchingViewModel.MatchingModelType = vm.Name.ToString();
                if (double.TryParse(vm.Caliber, out double caliber))
                {
                    _pumpMatchingViewModel.MatchingDiameter = caliber;
                    _valveMatchingViewModel.MatchingDiameter = caliber;
                }
                _pumpMatchingViewModel.MatchingMinorLoss = vm.Coefficient;
                _pumpMatchingViewModel.MatchingMaterial = vm.Material;
                _pumpMatchingViewModel.MatchingValveType = (eValveType?)vm.SeriesType;
                _pumpMatchingViewModel.MatchingValveSetting = vm.ValveSetting;
                _valveMatchingViewModel.MatchingMinorLoss = vm.Coefficient;
                _valveMatchingViewModel.MatchingMaterial = vm.Material;
                _valveMatchingViewModel.MatchingValveType = (eValveType?)vm.SeriesType;
                _valveMatchingViewModel.MatchingValveSetting = vm.ValveSetting;
                var list = await _bll_ex.Value.GetByMainID(vm.ID);
                if (list != null && list.Any())
                {
                    foreach (var item in list)
                    {
                        _allPhartList.Add(new PhartViewModel { ID = item.ID });
                        _allPhartList.Add(new PhartViewModel { ID = item.ID, MinorLossCurve = item.MinorLossCurve, OpenLossCurve = item.OpenLossCurve });
                    }
                }
            }
            if (_pumpMatchingViewModel.MatchingCurveDbId != null)
            if (_valveMatchingViewModel.MatchingCurveDbId != null)
            {
                for (int i = 0; i < _allPhartList.Count; i++)
                {
                    if (_allBindingList[i].ID.ToString() == _pumpMatchingViewModel.MatchingCurveDbId)
                    if (_allBindingList[i].ID.ToString() == _valveMatchingViewModel.MatchingCurveDbId)
                    {
                        gridView1.FocusedRowHandle = i;
                    }
@@ -122,7 +125,14 @@
                if (vmo != null)
                {
                    var dlg = new ValveChartShowDlg();
                    dlg.InitChart(vmo.OpenLossCurve);
                    if (vmo.MinorLossCurve != null)
                    {
                        dlg.InitChart(vmo.MinorLossCurve, false);
                    }
                    else if (vmo.OpenLossCurve != null)
                    {
                        dlg.InitChart(vmo.OpenLossCurve, true);
                    }
                    dlg.ShowDialog();
                }
                return;
@@ -138,8 +148,17 @@
            var vmo = await _bll_ex.Value.GetByMainID(vm.ID);
            if (vmo != null)
            {
                _pumpMatchingViewModel.MatchingCurveDbId = vm.ID.ToString();
                _pumpMatchingViewModel.MatchingCurveQL = _currentCurvePoint;
                _valveMatchingViewModel.MatchingCurveDbId = vm.ID.ToString();
                if (!string.IsNullOrEmpty(vm.OpenLossCurve))
                {
                    var pt_list = Yw.JsonHelper.Json2Object<List<HydroCurvePointViewModel>>(vm.OpenLossCurve);
                    _valveMatchingViewModel.MatchingCurveOL = pt_list;
                }
                if (!string.IsNullOrEmpty(vm.MinorLossCurve))
                {
                    var pt_list = Yw.JsonHelper.Json2Object<List<HydroCurvePointViewModel>>(vm.MinorLossCurve);
                    _valveMatchingViewModel.MatchingCurveQL = pt_list;
                }
            }
        }
    }