using DevExpress.Xpo.Helpers;
|
using Mapster;
|
using Yw.EPAnet;
|
using Yw.Hydro;
|
|
namespace Yw.WinFrmUI
|
{
|
public partial class HydroMultiWorkingEvaluationDlg : DevExpress.XtraBars.Ribbon.RibbonForm
|
{
|
public HydroMultiWorkingEvaluationDlg()
|
{
|
InitializeComponent();
|
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
|
this.layoutControl1.SetupLayoutControl();
|
this.hydroWorkingListViewCtrl1.SelectedChangedEvent += HydroWorkingListViewCtrl1_SelectedChangedEvent;
|
}
|
|
|
private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
|
private List<HydroMonitorVmo> _allMonitorList = null;//所有监测点列表
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData
|
(
|
Yw.Model.HydroModelInfo hydroInfo,
|
List<HydroMonitorVmo> allMonitorList,
|
List<HydroWorkingVmo> allWorkingList
|
)
|
{
|
if (hydroInfo == null)
|
{
|
return;
|
}
|
if (allWorkingList == null || allWorkingList.Count < 1)
|
{
|
return;
|
}
|
_hydroInfo = hydroInfo;
|
_allMonitorList = allMonitorList;
|
this.hydroWorkingListViewCtrl1.SetBindingData(allWorkingList);
|
if (allWorkingList.Count < 2)
|
{
|
var working = allWorkingList[0];
|
this.Text = $"精度评估({working.Name})";
|
this.itemForWorkingList.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
this.splitter.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
this.itemForEvaluation.TextVisible = false;
|
LoadWorkingEvaluation(working);
|
}
|
}
|
|
//工况选择改变
|
private void HydroWorkingListViewCtrl1_SelectedChangedEvent(HydroWorkingVmo working)
|
{
|
if (working == null)
|
{
|
return;
|
}
|
LoadWorkingEvaluation(working);
|
}
|
|
//加载精度评估
|
private void LoadWorkingEvaluation(HydroWorkingVmo working)
|
{
|
if (_hydroInfo == null)
|
{
|
return;
|
}
|
if (_allMonitorList == null || _allMonitorList.Count < 1)
|
{
|
return;
|
}
|
this.itemForEvaluation.Text = working.Name;
|
var hydroInfo = _hydroInfo.Adapt<Yw.Model.HydroModelInfo>();
|
hydroInfo.UpdateWorkingInfo(working.WorkingInfo);
|
var allWorkingMonitorList = JsonHelper.Json2Object<List<HydroWorkingMonitorViewModel>>(working.MonitorInfo);
|
var calcuResult = hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss);
|
this.hydroSingleWorkingEvaluationCtrl1.SetBindingData(hydroInfo, _allMonitorList, allWorkingMonitorList, calcuResult);
|
}
|
|
|
}
|
}
|