yangyin
2024-08-21 04e1d0a290ff76bf623bd9de075b350b8b77ba25
WinFrmUI/Yw.WinFrmUI.Hydro.Core/02-model/HydroModelMgrPage.cs
@@ -1,4 +1,8 @@
using Yw.EPAnet.Calcu;
using DevExpress.CodeParser;
using DevExpress.Utils.About;
using DevExpress.XtraEditors;
using Yw.EPAnet;
using Yw.WinFrmUI.Page;
namespace Yw.WinFrmUI
{
@@ -79,9 +83,22 @@
        /// <summary>
        /// 查看模型
        /// </summary>
        protected virtual void ViewModel(Yw.Dto.HydroModelDto dto)
        protected virtual async void ViewModel(Yw.Dto.HydroModelDto dto)
        {
            var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID);
            var guid = new PageGuid()
            {
                Modular = "Hydro",
                MoudingType = eMoudingType.Tab,
                Function = "HydroQ3d",
                TagName = info.ID.ToString()
            };
            if (!IsExistPage(guid, true))
            {
                var page = new HydroQ3dViewPage();
                page.SetBindingData(info);
                CreatePage(page, guid);
            }
        }
        /// <summary>
@@ -89,18 +106,21 @@
        /// </summary>
        protected virtual async void CalcuModel(Yw.Dto.HydroModelDto dto)
        {
            return;
            //var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID);
            //var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
            //var list = netWork.Calc();
            var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID);
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
            var list = netWork.Calcu();
            XtraMessageBox.Show(JsonHelper.Object2FormatJson(list));
        }
        /// <summary>
        /// 校验模型
        /// </summary>
        protected virtual void ValidModel(Yw.Dto.HydroModelDto dto)
        protected virtual async void ValidModel(Yw.Dto.HydroModelDto dto)
        {
            var info = await new Yw.BLL.HydroModelInfo().GetByID(dto.ID);
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
            var result = netWork.Check();
            XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
        }
@@ -193,6 +213,34 @@
            this.ValidModelEvent?.Invoke(vm.Dto);
        }
        //导出inp
        private async void barBtnExportInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
            }
            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(info);
            var result = netWork.ToInpString();
            XtraMessageBox.Show(result);
        }
        //组件
        private async void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
            }
            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
            var dlg = new HydroParterListDlg();
            dlg.SetBindingData(info);
            dlg.Show();
        }
        //上移
        private void barBtnUp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -216,5 +264,29 @@
        private async void barBtnTest_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
            }
            var info = await new Yw.BLL.HydroModelInfo().GetByID(vm.ID);
            var guid = new PageGuid()
            {
                Modular = "Hydro",
                MoudingType = eMoudingType.Tab,
                Function = "HydroL2d",
                TagName = info.ID.ToString()
            };
            if (!IsExistPage(guid, true))
            {
                var page = new HydroL2dViewPage();
                page.SetBindingData(info);
                CreatePage(page, guid);
            }
        }
    }
}