namespace Yw.WinFrmUI
|
{
|
public partial class SetHydroExchangerDlg : DevExpress.XtraEditors.XtraForm
|
{
|
public SetHydroExchangerDlg()
|
{
|
InitializeComponent();
|
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
|
this.layoutControl1.SetupLayoutControl();
|
this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent;
|
InitialLinkStatus();
|
}
|
|
/// <summary>
|
/// 重载数据事件
|
/// </summary>
|
public event Action<List<Yw.Model.HydroExchangerInfo>> ReloadDataEvent;
|
|
|
private List<Yw.Model.HydroExchangerInfo> _allVisualList = null;//所有部件列表
|
private HydroChangeHelper _changeHelper = null;//改变辅助类
|
private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData
|
(
|
Yw.Model.HydroExchangerInfo visual,
|
HydroChangeHelper changeHelper = null,
|
HydroPropStatusHelper propStatusHelper = null
|
)
|
{
|
var allVisualList = visual == null ? null : new List<Yw.Model.HydroExchangerInfo>() { visual };
|
this.SetBindingData(allVisualList, changeHelper, propStatusHelper);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData
|
(
|
List<Yw.Model.HydroExchangerInfo> allVisualList,
|
HydroChangeHelper changeHelper = null,
|
HydroPropStatusHelper propStatusHelper = null
|
)
|
{
|
_allVisualList = allVisualList;
|
_changeHelper = changeHelper;
|
_propStatusHelper = propStatusHelper;
|
if (_allVisualList != null && _allVisualList.Count == 1)
|
{
|
var visual = _allVisualList.First();
|
this.txtBeginGroup.EditValue = visual.BeginGroup;
|
this.txtElev.EditValue = Math.Round(visual.Elev, 4);
|
this.imgCmbLinkStatus.EditValue = visual.LinkStatus;
|
this.txtMaterial.EditValue = visual.Material;
|
this.txtDiameter.EditValue = visual.Diameter;
|
this.txtMinorLoss.EditValue = visual.MinorLoss;
|
}
|
}
|
|
//初始化管段状态
|
private void InitialLinkStatus()
|
{
|
this.imgCmbLinkStatus.Properties.BeginUpdate();
|
this.imgCmbLinkStatus.Properties.Items.Clear();
|
this.imgCmbLinkStatus.Properties.Items.Add(HydroResistanceStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.None), Yw.Hydro.LinkStatus.None, -1);
|
this.imgCmbLinkStatus.Properties.Items.Add(HydroResistanceStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1);
|
this.imgCmbLinkStatus.Properties.Items.Add(HydroResistanceStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1);
|
this.imgCmbLinkStatus.Properties.EndUpdate();
|
}
|
|
|
//确定
|
private void GeneralOkAndCancelCtrl1_OkEvent()
|
{
|
if (_allVisualList == null || _allVisualList.Count < 1)
|
{
|
return;
|
}
|
var beginGroup = this.txtBeginGroup.Text.Trim();
|
double? elev = this.txtElev.EditValue == null ? null : double.Parse(this.txtElev.EditValue.ToString());
|
var linkStatus = this.imgCmbLinkStatus.EditValue == null ? null : this.imgCmbLinkStatus.EditValue.ToString();
|
var material = string.IsNullOrEmpty(this.txtMaterial.Text.Trim()) ? null : this.txtMaterial.Text.Trim();
|
double? diameter = this.txtDiameter.EditValue == null ? null : double.Parse(this.txtDiameter.EditValue.ToString());
|
double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString());
|
_allVisualList.ForEach(x =>
|
{
|
if (!string.IsNullOrEmpty(beginGroup))
|
{
|
if (x.BeginGroup != beginGroup)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.BeginGroup), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.BeginGroup = beginGroup;
|
}
|
if (elev.HasValue)
|
{
|
if (x.Elev != elev.Value)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.Elev = elev.Value;
|
}
|
if (!string.IsNullOrEmpty(linkStatus))
|
{
|
if (x.LinkStatus != linkStatus)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.LinkStatus = linkStatus;
|
}
|
if (!string.IsNullOrEmpty(material))
|
{
|
if (x.Material != material)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Material), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.Material = material;
|
}
|
if (diameter.HasValue)
|
{
|
if (x.Diameter != diameter.Value)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Diameter), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.Diameter = diameter.Value;
|
}
|
if (minorLoss.HasValue)
|
{
|
if (x.MinorLoss != minorLoss.Value)
|
{
|
_changeHelper.Append(x, eChangeType.Update);
|
_propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改");
|
}
|
x.MinorLoss = minorLoss.Value;
|
}
|
});
|
this.ReloadDataEvent?.Invoke(_allVisualList);
|
this.DialogResult = DialogResult.OK;
|
this.Close();
|
}
|
|
|
}
|
}
|