using DevExpress.XtraEditors;
namespace Yw.WinFrmUI
{
public partial class SetHydroGradingTreeDlg : DevExpress.XtraBars.Ribbon.RibbonForm
{
public SetHydroGradingTreeDlg()
{
InitializeComponent();
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
this.layoutControl1.SetupLayoutControl();
this.selectHydroGradingPropTreeCtrl1.SelectedPropChangedEvent += SelectHydroGradingPropTreeCtrl1_SelectedPropChangedEvent;
}
///
/// 重载数据事件
///
public event Action> ReloadDataEvent;
///
/// 应用数据事件
///
public event Action ApplyDataEvent;
//模型信息
private Yw.Model.HydroModelInfo _hydroInfo;
//所有颜色分级
private List _allGradingList = null;
///
/// 绑定数据
///
public void SetBindingData
(
Yw.Model.HydroModelInfo hydroInfo,
List allGradingList
)
{
_hydroInfo = hydroInfo;
_allGradingList = allGradingList;
this.setHydroGradingModelCtrl1.InitialData(allGradingList);
this.selectHydroGradingPropTreeCtrl1.InitialData();
}
//属性改变
private void SelectHydroGradingPropTreeCtrl1_SelectedPropChangedEvent(HydroGradingPropTreeViewModel obj)
{
if (_hydroInfo == null)
{
return;
}
this.setHydroGradingModelCtrl1.SetBindingData(_hydroInfo.ID, obj.Catalog, obj.PropName);
}
//保存
private async Task Save()
{
if (_hydroInfo == null)
{
return default;
}
var gradingList = this.setHydroGradingModelCtrl1.GetGrading();
var bol = await BLLFactory.Instance.Save(_hydroInfo.ID, gradingList);
if (bol)
{
_allGradingList = await BLLFactory.Instance.GetByModelID(_hydroInfo.ID);
this.setHydroGradingModelCtrl1.InitialData(_allGradingList);
this.setHydroGradingModelCtrl1.ResetBindingData();
this.ReloadDataEvent?.Invoke(_allGradingList);
return true;
}
return false;
}
//保存
private async void btnSave_Click(object sender, EventArgs e)
{
if (!await Save())
{
TipFormHelper.ShowError("保存失败");
return;
}
TipFormHelper.ShowSucceed("保存成功");
this.DialogResult = DialogResult.OK;
this.Close();
}
//应用
private async void btnApply_Click(object sender, EventArgs e)
{
var bol = await Save();
if (!bol)
{
XtraMessageBox.Show("保存失败,无法应用!");
return;
}
this.ApplyDataEvent?.Invoke();
}
}
}