duheng
2024-09-20 8981c9f11f01973ddbf9718ff5935ebfe6dc6b40
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/01-AutoMatching/AssetsMainChoicePage.cs
@@ -5,27 +5,69 @@
        public AssetsMainChoicePage()
        {
            InitializeComponent();
            this.elbowsMatchingCtrl1.RowClickEvent += RowClickEvent;
        }
        private void RowClickEvent(string code)
        {
            FormRowClickEvent.Invoke(code);
        }
        public event Action<string> FormRowClickEvent = null;
        private BLL.PumpMain _pumpMain = null;
        private BLL.AdaptingManage _adaptingManage = null;
        private BLL.PipeLineManage _pipeLineManage = null;
        private BLL.ValveMain _valveMain = null;
        public void SetBindingData(AssetsAutoMatchingViewModel inputViewModel)
        {
            this.elbowsMatchingCtrl1.SetBindingData(inputViewModel.ElbowsMatchingModels);
            this.pipeLineMatchingCtrl1.SetBindingData(inputViewModel.PipeLineMatchingModels);
            this.pumpMatchingCtrl1.SetBindingData(inputViewModel.PumpMatchingModels);
            this.threeLinkMatchingCtrl1.SetBindingData(inputViewModel.ThreeLinkMatchingModels);
            this.fourLinkMatchingCtrl1.SetBindingData(inputViewModel.FourLinkMatchingModels);
            this.valveMatchingCtrl1.SetBindingData(inputViewModel.ValveMatchingModels);
        }
        /// <summary>
        /// 初始化
        /// </summary>
        public async Task<AssetsAutoMatchingInputViewModel> SetMatching(AssetsAutoMatchingInputViewModel input)
        public async Task<AssetsAutoMatchingViewModel> SetMatching(AssetsAutoMatchingViewModel input)
        {
            if (input == null)
                return null;
            _pumpMain = new BLL.PumpMain();
            _adaptingManage = new BLL.AdaptingManage();
            _pipeLineManage = new BLL.PipeLineManage();
            _valveMain = new BLL.ValveMain();
            var allPump = await _pumpMain.GetAll();
            var allAdapting = await _adaptingManage.GetAll();
            var assetsAutoMatching = new AssetsAutoMatchingInputViewModel();
            var pumpMatching = this.pumpMatchingCtrl1.SetBindingData(input.PumpMatchingModels, allPump, out List<PumpMatchingViewModel> pumpErrors);
            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetBindingData(input.ThreeLinkMatchingModels, allAdapting);
            var allPipeLine = await _pipeLineManage.GetAll();
            var allValve = await _valveMain.GetAll();
            var assetsAutoMatching = new AssetsAutoMatchingViewModel();
            //泵匹配
            var pumpMatching = await this.pumpMatchingCtrl1.SetMatching(input.PumpMatchingModels, allPump);
            //三通匹配
            var threeLinkMatching = this.threeLinkMatchingCtrl1.SetMatching(input.ThreeLinkMatchingModels, allAdapting);
            //四通匹配
            var fourLinkMatching = this.fourLinkMatchingCtrl1.SetMatching(input.FourLinkMatchingModels, allAdapting);
            //管道匹配
            var pipeLineMatching = this.pipeLineMatchingCtrl1.SetMatching(input.PipeLineMatchingModels, allPipeLine);
            //阀门匹配
            var valveMatching = this.valveMatchingCtrl1.SetMatching(input.ValveMatchingModels, allValve);
            //弯头匹配
            var elbowsMatching = this.elbowsMatchingCtrl1.SetMatching(input.ElbowsMatchingModels, allAdapting);
            assetsAutoMatching.PumpMatchingModels = pumpMatching;
            assetsAutoMatching.ThreeLinkMatchingModels = threeLinkMatching;
            assetsAutoMatching.FourLinkMatchingModels = fourLinkMatching;
            assetsAutoMatching.ElbowsMatchingModels = elbowsMatching;
            assetsAutoMatching.PipeLineMatchingModels = pipeLineMatching;
            assetsAutoMatching.ValveMatchingModels = valveMatching;
            return assetsAutoMatching;
        }
    }