using DevExpress.XtraEditors;
using Yw;
namespace HStation.WinFrmUI.Assets
{
///
///
///
public partial class PipeLineTreeListCtrl : XtraUserControl
{
public PipeLineTreeListCtrl()
{
InitializeComponent();
this.treeList1.InitialDefaultSettings();
this.treeList1.SelectImageList = ImageLib.Lib;
}
//聚焦改变事件
public event Action ReloadEvent = null;
private BLL.PipeLineSeries _bll = null;
private List _allBindingList = new List();
public async void SetBindingData()
{
_bll = new BLL.PipeLineSeries();
var alllist = await _bll.GetAll();
foreach (var item in alllist)
{
_allBindingList.Add(new PipeLineSeriesViewModel(item));
}
this.treeList1.DataSource = _allBindingList;
this.treeList1.RefreshDataSource();
}
//获取系列ID
public PipeLineSeriesViewModel GetCurrentSeries()
{
var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
if (vm == null)
return default;
return vm;
}
//添加阀门系列
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var dlg = new AddPipeLineSeriesDlg();
dlg.ReloadDataEvent += async (rhs) =>
{
var bll = new BLL.PipeLineSeries();
var id = await bll.Insert(rhs);
if (id > 0)
{
rhs.ID = id;
_allBindingList.Add(new PipeLineSeriesViewModel(rhs));
this.treeList1.RefreshDataSource();
return true;
}
return false;
};
dlg.ShowDialog();
}
//聚焦切换
private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowWarning("请选择数据行!");
return;
}
ReloadEvent.Invoke(vm.ID);
}
//修改
private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowWarning("请选择数据行!");
return;
}
var dlg = new EditPipeLineSeriesDlg();
var PipeLineSeries = await BLLFactory.Instance.GetByID(vm.ID);
if (PipeLineSeries == null)
return;
dlg.SetBindingData(PipeLineSeries);
dlg.ReloadDataEvent += async (rhs) =>
{
if (await BLLFactory.Instance.Update(rhs))
{
vm.Reset(rhs);
this.treeList1.RefreshDataSource();
return true;
}
return false;
};
dlg.ShowDialog();
}
//删除
private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList);
if (currentVm == null)
{
MessageBoxHelper.ShowWarning("请选择数据行!");
return;
}
if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示"))
return;
var groupresult = await _bll.DeleteByID(currentVm.ID);
if (groupresult)
{
_allBindingList.Remove(currentVm);
this.treeList1.RefreshDataSource();
TipFormHelper.ShowSucceed("删除成功!");
}
else
{
TipFormHelper.ShowError("删除失败!");
return;
}
}
}
}