duheng
2024-09-27 32b2fee0421e7997672fe4a14fe5bf9a6de926c2
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs
@@ -18,19 +18,23 @@
            this.hydroParterPropertyCtrl1.PropertyValueChangingEvent += HydroParterPropertyCtrl1_PropertyValueChangingEvent;
        }
        //水力信息方法
        private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null;
        /// <summary>
        /// 获取水力信息事件
        /// 绑定数据
        /// </summary>
        public event Func<Yw.Model.HydroModelInfo> GetHydroInfoEvent;
        public void SetBindingData(Func<Yw.Model.HydroModelInfo> hydroInfoFunc)
        {
            _hydroInfoFunc = hydroInfoFunc;
        }
        /// <summary>
        /// 选择组件
        /// </summary>
        public void SelectParter(long id)
        {
            var hydroInfo = GetHydroInfoEvent?.Invoke();
            var hydroInfo = _hydroInfoFunc?.Invoke();
            if (hydroInfo == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
@@ -47,7 +51,7 @@
        /// </summary>
        public void SelectParter(string code)
        {
            var hydroInfo = GetHydroInfoEvent?.Invoke();
            var hydroInfo = _hydroInfoFunc?.Invoke();
            if (hydroInfo == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
@@ -62,8 +66,6 @@
        /// <summary>
        /// 选择组件
        /// </summary>
        /// <param name="parter"></param>
        /// <param name="allParterList"></param>
        public void SelectParter(Yw.Model.HydroParterInfo parter, List<Yw.Model.HydroParterInfo> allParterList)
        {
            var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
@@ -87,7 +89,7 @@
        //获取水力信息事件
        private Yw.Model.HydroModelInfo HydroParterPropertyCtrl1_GetHydroInfoEvent()
        {
            var hydroInfo = GetHydroInfoEvent?.Invoke();
            var hydroInfo = _hydroInfoFunc?.Invoke();
            return hydroInfo;
        }
@@ -98,25 +100,27 @@
            {
                case Yw.WinFrmUI.HydroCurve.Pump:
                    {
                        var hydroInfo = GetHydroInfoEvent?.Invoke();
                        var hydroInfo = _hydroInfoFunc?.Invoke();
                        if (hydroInfo == null)
                        {
                            return false;
                        }
                        var vmPump = propViewModel as HydroPumpPropertyViewModel;
                        var modelType = vmPump.ModelType;
                        var dbId = vmPump.DbId;
                        var curveDbId = string.Empty;
                        if (!string.IsNullOrEmpty(vmPump.CurveQH))
                        {
                            var curveQh = hydroInfo.Curves?.Find(x => x.Code == vmPump.CurveQH);
                            curveDbId = curveQh?.DbId;
                        }
                        var dlg = new PumpMainCurveChoiceDlg();
                        dlg.SetBindingData(dbId, modelType);
                        dlg.CurveinfoEvent += (dbid, curveid, curveinfo) =>
                        {
                        var pumpInfo = hydroInfo.Pumps?.Find(x => x.Code == propViewModel.Code);
                        var input = AssetsMatchingParasHelper.Create(hydroInfo, pumpInfo);
                        var dlg = new PumpMainCurveChoiceDlg();
                        dlg.SetBindingData(input);
                        dlg.ReloadDataEvent += (rhs) =>
                        {
                            var bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs);
                            if (bol)
                            {
                                TipFormHelper.ShowSucceed("匹配成功");
                            }
                            else
                            {
                                TipFormHelper.ShowWarn("匹配失败");
                            }
                        };
                        dlg.ShowDialog();
                        return true;
@@ -177,6 +181,5 @@
        {
            return false;
        }
    }
}