using Yw.EPAnet;
|
using HStation.Vmo;
|
using Yw.DAL.Basic;
|
|
namespace HStation.WinFrmUI
|
{
|
public partial class XhsProjectSimulationCorePage : DocumentPage
|
{
|
public XhsProjectSimulationCorePage()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "水力模拟";
|
this.PageTitle.HeaderSvgImage = this.svgImg32[0];
|
}
|
|
private HStation.Vmo.XhsProjectVmo _project = null;//项目
|
private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//项目站
|
private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
|
|
private Yw.Model.HydroParterInfo _parter = null;
|
private List<CalcuParter> _allCalcuParterList = null;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public async Task SetBindingData
|
(
|
HStation.Vmo.XhsProjectVmo project,
|
HStation.Vmo.XhsProjectSiteVmo projectSite,
|
Yw.Model.HydroModelInfo hydroInfo
|
)
|
{
|
if (project == null)
|
{
|
return;
|
}
|
_project = project;
|
_projectSite = projectSite;
|
_hydroInfo = hydroInfo;
|
if (_projectSite == null)
|
{
|
_projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
|
}
|
if (_hydroInfo == null)
|
{
|
var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
|
.GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
|
_hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
|
}
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public override async void InitialDataSource()
|
{
|
base.InitialDataSource();
|
if (_project == null)
|
{
|
return;
|
}
|
this.PageTitle.Caption = $"{_project.Name}\r\n水力模拟";
|
await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite);
|
}
|
|
//bimface 构件点击
|
private void XhsProjectHydroQ3dCtrl1_ClickParterEvent(string objectId)
|
{
|
//if (_hydro == null)
|
//{
|
// _parter = null;
|
// return;
|
//}
|
//var allParterList = _hydro.GetAllParters();
|
//_parter = allParterList.Find(x => x.Code == objectId);
|
//this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList);
|
//if (_parter != null)
|
//{
|
// if (_allCalcuParterList != null && _allCalcuParterList.Count > 0)
|
// {
|
// var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
|
// if (calcuParter != null)
|
// {
|
// IHydroCalcuProperty calcuProperty = null;
|
// if (calcuParter is CalcuNode calcuNode)
|
// {
|
// var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
|
// calcuNodeProperty.ID = _parter.ID;
|
// calcuNodeProperty.CalcuPress = calcuNode.Press;
|
// calcuNodeProperty.CalcuDemand = calcuNode.Demand;
|
// calcuNodeProperty.CalcuHead = calcuNode.Head;
|
// calcuProperty = calcuNodeProperty;
|
// }
|
// else if (calcuParter is CalcuLink calcuLink)
|
// {
|
// var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
|
// calcuLinkProperty.ID = _parter.ID;
|
// calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
|
// calcuLinkProperty.CalcuFlow = calcuLink.Flow;
|
// calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
|
// calcuProperty = calcuLinkProperty;
|
// }
|
|
// if (calcuProperty != null)
|
// {
|
// this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
|
// }
|
// }
|
// }
|
//}
|
|
}
|
|
private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
//if (_hydro == null)
|
//{
|
// return;
|
//}
|
//var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
|
//var result = netWork.Check();
|
//XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
|
}
|
|
private void barBtnCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
//if (_hydro == null)
|
//{
|
// return;
|
//}
|
//var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
|
//var result = netWork.Calcu();
|
//if (!result.Succeed)
|
//{
|
// XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
|
// return;
|
//}
|
//_allCalcuParterList = result.GetParterList();
|
//TipFormHelper.ShowSucceed("计算成功");
|
//if (_parter != null)
|
//{
|
// var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
|
// if (calcuParter != null)
|
// {
|
// IHydroCalcuProperty calcuProperty = null;
|
// if (calcuParter is CalcuNode calcuNode)
|
// {
|
// var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
|
// calcuNodeProperty.ID = _parter.ID;
|
// calcuNodeProperty.CalcuPress = calcuNode.Press;
|
// calcuNodeProperty.CalcuDemand = calcuNode.Demand;
|
// calcuNodeProperty.CalcuHead = calcuNode.Head;
|
// calcuProperty = calcuNodeProperty;
|
// }
|
// else if (calcuParter is CalcuLink calcuLink)
|
// {
|
// var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
|
// calcuLinkProperty.ID = _parter.ID;
|
// calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
|
// calcuLinkProperty.CalcuFlow = calcuLink.Flow;
|
// calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
|
// calcuProperty = calcuLinkProperty;
|
// }
|
|
// if (calcuProperty != null)
|
// {
|
// this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
|
// }
|
// }
|
//}
|
}
|
|
private void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
//var dlg = new HydroParterListDlg();
|
//dlg.SetBindingData(_hydro);
|
//dlg.Show();
|
}
|
|
private void barBtnInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
//var fileName = Yw.WinFrmUI.FileDialogHelper.SaveInp("导出Inp文件");
|
//if (string.IsNullOrEmpty(fileName))
|
//{
|
// return;
|
//}
|
//var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
|
//var result = netWork.ToInpString();
|
//File.WriteAllText(fileName, result);
|
//TipFormHelper.ShowSucceed("导出成功");
|
}
|
|
private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
//if (_hydro == null)
|
//{
|
// return;
|
//}
|
//var bll = new Yw.BLL.HydroModelInfo();
|
//var result = await bll.Save(_hydro);
|
//if (result > 0)
|
//{
|
// Yw.WinFrmUI.TipFormHelper.ShowSucceed("保存成功");
|
//}
|
}
|
|
|
}
|
}
|