namespace Yw.WinFrmUI
{
public partial class SetHydroWorkingResistanceCtrl : DevExpress.XtraEditors.XtraUserControl, ISetHydroWorkingVisualCtrl
{
public SetHydroWorkingResistanceCtrl()
{
InitializeComponent();
this.layoutControl1.SetupLayoutControl();
InitialLinkStatus();
}
///
/// 查看组件事件
///
public event Action HydroViewEvent;
//组件
private Yw.Model.HydroResistanceInfo _visual = null;
//工况
private HydroWorkingResistanceViewModel _working = null;
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroVisualInfo visual, HydroWorkingVisualViewModel working = null)
{
_visual = visual as Yw.Model.HydroResistanceInfo;
if (_visual == null)
{
return;
}
this.layoutGroupCaption.Text = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Valve);
if (!string.IsNullOrEmpty(_visual.Name))
{
this.layoutGroupCaption.Text = _visual.Name;
}
_working = working as HydroWorkingResistanceViewModel;
if (_working == null)
{
_working = new HydroWorkingResistanceViewModel(_visual);
}
this.imgCmbLinkStatus.EditValue = _working.LinkStatus;
}
///
/// 获取工况
///
public HydroWorkingVisualViewModel GetWorking()
{
if (_visual == null)
{
return default;
}
if (_working == null)
{
return default;
}
_working.LinkStatus = this.imgCmbLinkStatus.EditValue?.ToString();
return _working;
}
//初始化管段状态
private void InitialLinkStatus()
{
this.imgCmbLinkStatus.Properties.BeginUpdate();
this.imgCmbLinkStatus.Properties.Items.Clear();
this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.None), Yw.Hydro.ValveStatus.None, -1);
this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.Open), Yw.Hydro.ValveStatus.Open, -1);
this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.Closed), Yw.Hydro.ValveStatus.Closed, -1);
this.imgCmbLinkStatus.Properties.EndUpdate();
}
//查看部件
private void layoutGroupCaption_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e)
{
if (_visual == null)
{
return;
}
this.HydroViewEvent?.Invoke(_visual);
}
}
}