using DevExpress.CodeParser;
using DevExpress.XtraEditors;
using HStation.WinFrmUI.Xhs;
using Yw.EPAnet;
namespace HStation.WinFrmUI
{
public partial class XhsSchemeAssetMgrPage : DocumentPage
{
public XhsSchemeAssetMgrPage()
{
InitializeComponent();
this.xhsProjectAssetsBimfaceCtrl1.ClickParterEvent += XhsProjectAssetsBimfaceCtrl1_ClickParterEvent;
}
private long _projectId;
private Yw.Model.HydroModelInfo _hydro = null;
///
///
///
public async Task SetBindingData(long projectId)
{
_projectId = projectId;
var projectSite = await BLLFactory.Instance.GetDefaultByProjectID(projectId);
if (projectSite == null)
{
return;
}
var hydroRelation = await new Yw.BLL.HydroModelRelation().GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
if (hydroRelation == null)
{
return;
}
_hydro = await new Yw.BLL.HydroModelInfo().GetByID(hydroRelation.ModelID);
this.xhsProjectAssetsPropertyCtrl1.SetBindingData(_hydro);
}
///
/// 初始化数据
///
public override void InitialDataSource()
{
base.InitialDataSource();
this.xhsProjectAssetsBimfaceCtrl1.SetBindingData(_projectId);
}
//bimface 构件点击
private void XhsProjectAssetsBimfaceCtrl1_ClickParterEvent(string objectId)
{
if (_hydro == null)
{
return;
}
this.xhsProjectAssetsPropertyCtrl1.SetPropertyViewModel(objectId);
}
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 list = netWork.Calcu();
XtraMessageBox.Show(JsonHelper.Object2FormatJson(list));
}
//临时---选择泵型号
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
// var dlg = new AssetsAutoMatchingMainDlg();
// dlg.SetBindingData();
// dlg.ShowDialog();
}
private async void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (_hydro == null)
{
return;
}
var pumps = _hydro.Pumps;
var ids = pumps.Select(x => x.Code).Distinct().ToList();
await this.xhsProjectAssetsBimfaceCtrl1.TranslucentComponents(ids);
}
private async void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (_hydro == null)
{
return;
}
var pumps = _hydro.Pumps;
var ids = pumps.Select(x => x.Code).Distinct().ToList();
await this.xhsProjectAssetsBimfaceCtrl1.OpaqueComponents(ids);
}
private async void barButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
await this.xhsProjectAssetsBimfaceCtrl1.ShowAllComponents();
}
//自动匹配
private void barBtnAutoMatch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
/* var dlg = new AssetsAutoMatchingMainDlg();
dlg.SetBindingData();
dlg.ShowDialog();
*/
}
}
}