namespace HStation.WinFrmUI
|
{
|
public partial class XhsProjectQ3dViewPage : DocumentPage
|
{
|
public XhsProjectQ3dViewPage()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "水力视图";
|
this.PageTitle.HeaderSvgImage = Yw.WinFrmUI.HydroMainSvgImageHelper.Hydro;
|
this.PageTitle.SvgImageSize = new Size(24, 24);
|
}
|
|
private XhsProjectVmo _project = null;//项目
|
private XhsProjectSiteVmo _projectSite = null;//项目站
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public async Task SetBindingData(long projectId)
|
{
|
var project = await BLLFactory<HStation.BLL.XhsProject>.Instance.GetByID(projectId);
|
if (project == null)
|
{
|
return;
|
}
|
SetBindingData(project);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(XhsProjectVmo project)
|
{
|
if (project == null)
|
{
|
return;
|
}
|
_project = project;
|
this.PageTitle.Caption = $"{_project.Name}\r\n水力视图";
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(XhsProjectExtensionsVmo project)
|
{
|
if (project == null)
|
{
|
return;
|
}
|
_project = project;
|
_projectSite = project.SiteList.FirstOrDefault();
|
this.PageTitle.Caption = $"{_project.Name}\r\n水力视图";
|
}
|
|
/// <summary>
|
/// 初始化数据源
|
/// </summary>
|
public override void InitialDataSource()
|
{
|
base.InitialDataSource();
|
InitialData();
|
}
|
|
|
//初始化数据
|
private async void InitialData()
|
{
|
var drawer = GetDrawer();
|
this.Controls.Clear();
|
this.Controls.Add(drawer);
|
if (_project == null)
|
{
|
return;
|
}
|
if (_projectSite == null)
|
{
|
_projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
|
}
|
var relation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
|
.GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, Yw.Hydro.Purpose.Simulation);
|
if (relation == null)
|
{
|
return;
|
}
|
var hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(relation.ModelID);
|
if (hydroInfo == null)
|
{
|
return;
|
}
|
var network = hydroInfo.ToNetworkViewModel();
|
drawer.SetData(network);
|
}
|
|
#region 绘制容器
|
|
//获取绘制器
|
private Yw.WinFrmUI.Q3d.Drawer GetDrawer()
|
{
|
if (_drawer == null)
|
{
|
_drawer = new Yw.WinFrmUI.Q3d.Drawer();
|
_drawer.Dock = DockStyle.Fill;
|
}
|
return _drawer;
|
}
|
//Q3d绘制器
|
private Yw.WinFrmUI.Q3d.Drawer _drawer = null;
|
|
#endregion
|
|
|
}
|
}
|