namespace Yw.WinFrmUI
|
{
|
public partial class SetHydroPumpWorkingInfoCtrl : DevExpress.XtraEditors.XtraUserControl, ISetHydroVisualWorkingInfoCtrl
|
{
|
public SetHydroPumpWorkingInfoCtrl()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
InitialLinkStatus();
|
}
|
|
/// <summary>
|
/// 查看组件事件
|
/// </summary>
|
public event Action<Yw.Model.HydroVisualInfo> HydroViewEvent;
|
|
private Yw.Model.HydroVisualInfo _visual = null;//组件
|
private HydroPumpWorkingInfoViewModel _workingInfo = null;//工况
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(Yw.Model.HydroVisualInfo visual)
|
{
|
var pump = visual as Yw.Model.HydroPumpInfo;
|
if (pump == null)
|
{
|
return;
|
}
|
_visual = pump;
|
this.layoutGroupCaption.Text = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Pump);
|
if (!string.IsNullOrEmpty(visual.Name))
|
{
|
this.layoutGroupCaption.Text = visual.Name;
|
}
|
_workingInfo = new HydroPumpWorkingInfoViewModel(pump);
|
UpdateBindingData(_workingInfo);
|
}
|
|
/// <summary>
|
/// 更新绑定
|
/// </summary>
|
public void UpdateBindingData(HydroVisualWorkingInfoViewModel workingInfo)
|
{
|
if (_visual == null)
|
{
|
return;
|
}
|
_workingInfo = workingInfo as HydroPumpWorkingInfoViewModel;
|
if (_workingInfo == null)
|
{
|
return;
|
}
|
this.imgCmbLinkStatus.EditValue = _workingInfo.LinkStatus;
|
this.txtCurrentHz.EditValue = Math.Round(_workingInfo.CurrentHz, 1);
|
}
|
|
/// <summary>
|
/// 获取工况
|
/// </summary>
|
public HydroVisualWorkingInfoViewModel GetWorkingInfo()
|
{
|
if (_workingInfo == null)
|
{
|
return default;
|
}
|
_workingInfo.LinkStatus = this.imgCmbLinkStatus.EditValue?.ToString();
|
_workingInfo.CurrentHz = double.Parse(this.txtCurrentHz.EditValue.ToString());
|
return _workingInfo;
|
}
|
|
//初始化管段状态
|
private void InitialLinkStatus()
|
{
|
this.imgCmbLinkStatus.Properties.BeginUpdate();
|
this.imgCmbLinkStatus.Properties.Items.Clear();
|
this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.PumpStatus.Open), Yw.Hydro.PumpStatus.Open, -1);
|
this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.PumpStatus.Closed), Yw.Hydro.PumpStatus.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);
|
}
|
|
//开关状态决定设定频率的可用性
|
private void imgCmbLinkStatus_EditValueChanged(object sender, EventArgs e)
|
{
|
var linkStatus = this.imgCmbLinkStatus.EditValue?.ToString();
|
if (linkStatus == Yw.Hydro.PumpStatus.Open)
|
{
|
this.txtCurrentHz.Properties.ReadOnly = false;
|
}
|
else
|
{
|
this.txtCurrentHz.Properties.ReadOnly = true;
|
}
|
}
|
|
}
|
}
|