namespace HStation.WinFrmUI
{
public partial class XhsSchemeMultiMgrPage : DocumentPage
{
public XhsSchemeMultiMgrPage()
{
InitializeComponent();
this.PageTitle.Caption = "项目方案";
this.PageTitle.HeaderSvgImage = this.svgImg32[0];
this.PageTitle.SvgImageSize = new Size(24, 24);
}
private XhsProjectStdDto _project = null;
private Yw.Model.HydroModelInfo _hydroInfo = null;
///
/// 绑定数据
///
/// 项目id
public async Task SetBindingData(long projectId)
{
this.xhsSchemeMgrListCtrl1.SetBindingData(projectId);
_project = await new BLL.XhsProjectStd().GetByID(projectId);
this.PageTitle.Caption = $"{_project?.Name}\r\n方案管理";
var projectSite = await new BLL.XhsProjectSiteStd().GetDefaultByProjectID(_project.ID);
if (projectSite == null)
{
return;
}
var relation = await new Yw.BLL.HydroModelRelation()
.GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, Yw.Bimface.Purpose.Simulation);
if (relation == null)
{
return;
}
_hydroInfo = await new Yw.BLL.HydroModelInfo().GetByID(relation.ModelID);
}
///
/// 绑定数据
///
/// 项目
public void SetBindingData(HStation.Dto.XhsProjectStdDto project)
{
_project = project;
this.PageTitle.Caption = $"{_project?.Name}\n方案管理";
}
///
/// 初始化数据源
///
public override async void InitialDataSource()
{
base.InitialDataSource();
this.bimfaceInterop3dContainer1.LoadCompletedEvent += BimfaceInterop3dContainer1_LoadCompletedEvent;
this.bimfaceInterop3dContainer1.ClickInEvent += BimfaceInterop3dContainer1_ClickInEvent;
await this.bimfaceInterop3dContainer1.InitialContainer();
}
///
/// 页面加载完成后触发
///
private async void BimfaceInterop3dContainer1_LoadCompletedEvent()
{
if (_project == null)
{
return;
}
var projectSite = await new BLL.XhsProjectSiteStd().GetDefaultByProjectID(_project.ID);
if (projectSite == null)
{
return;
}
var relation = await new Yw.BLL.BimfaceFileRelationStd()
.GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, Yw.Bimface.Purpose.Simulation);
if (relation == null)
{
return;
}
var bimfaceFile = await new Yw.BLL.BimfaceFileStd().GetByID(relation.BimfaceFileID);
if (bimfaceFile == null)
{
return;
}
var viewToken = await BimfaceHelper.GetViewToken(bimfaceFile.BimfaceId);
if (string.IsNullOrEmpty(viewToken))
{
return;
}
await this.bimfaceInterop3dContainer1.LoadView(viewToken);
}
///
/// 点击事件
///
private void BimfaceInterop3dContainer1_ClickInEvent(Yw.WinFrmUI.Bimface.ClickIn3dInfo obj)
{
//if (_hydroInfo == null)
//{
// return;
//}
//var allParterList = _hydroInfo.GetAllParters();
//var parter = allParterList.Find(x => x.Code == obj.ObjectId);
//if (parter != null)
//{
// var vm = HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
// this.hydroParterPropertyCtrl1.SelectedObject = vm;
//}
}
}
}