duheng
2024-08-01 df724e202d16eda69bf8a67c683e2b70ccaca4f7
WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
@@ -1,4 +1,6 @@
namespace Yw.WinFrmUI
using Yw.EPAnet.Calcu;
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 
@@ -20,6 +22,16 @@
        /// 查看模型事件
        /// </summary>
        public event Action<Yw.Dto.HydroModelDto> ViewModelEvent;
        /// <summary>
        /// 计算模型事件
        /// </summary>
        public event Action<Yw.Dto.HydroModelDto> CalcuModelEvent;
        /// <summary>
        /// 校验模型事件
        /// </summary>
        public event Action<Yw.Dto.HydroModelDto> ValidModelEvent;
        private List<HydroModelMgrViewModel> _allBindingList = null;
        private Lazy<Yw.BLL.HydroModel> _bll = new(() => new Yw.BLL.HydroModel());
@@ -68,6 +80,24 @@
        /// 查看模型
        /// </summary>
        protected virtual void ViewModel(Yw.Dto.HydroModelDto dto)
        {
        }
        /// <summary>
        /// 计算模型
        /// </summary>
        protected virtual async void CalcuModel(Yw.Dto.HydroModelDto dto)
        {
            var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID);
            var netWork = Yw.Hydro.ParseHelper.ToNetWork(info);
            var list = netWork.Calc();
        }
        /// <summary>
        /// 校验模型
        /// </summary>
        protected virtual void ValidModel(Yw.Dto.HydroModelDto dto)
        {
        }
@@ -125,7 +155,7 @@
        }
        //查看模型
        //模型查看
        private void barBtnViewModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
@@ -135,6 +165,31 @@
            }
            ViewModel(vm.Dto);
            this.ViewModelEvent?.Invoke(vm.Dto);
        }
        //模型计算
        private void barBtnCalcuModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
            }
            CalcuModel(vm.Dto);
            this.CalcuModelEvent?.Invoke(vm.Dto);
        }
        //模型校验
        private void barBtnValidModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
            }
            ValidModel(vm.Dto);
            this.ValidModelEvent?.Invoke(vm.Dto);
        }
        //上移
@@ -155,6 +210,10 @@
        }
        #endregion
    }
}