using DevExpress.XtraEditors;
|
using DevExpress.XtraTreeList.Nodes;
|
using Yw;
|
using Yw.Untity;
|
|
namespace HStation.WinFrmUI.Assets
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class ElbowTreeListCtrl : XtraUserControl
|
{
|
public ElbowTreeListCtrl()
|
{
|
InitializeComponent();
|
this.treeList1.InitialDefaultSettings();
|
this.treeList1.SelectImageList = ImageLib.Lib;
|
}
|
|
//聚焦改变事件
|
public event Action<long> ReloadEvent = null;
|
|
private BLL.AssetsElbowSeries _bll = null;
|
|
private List<AssetsElbowSeriesViewModel> _allBindingList = new List<AssetsElbowSeriesViewModel>();
|
|
public async void SetBindingData()
|
{
|
_bll = new BLL.AssetsElbowSeries();
|
var alllist = await _bll.GetAll();
|
if (alllist != null)
|
{
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new AssetsElbowSeriesViewModel(item));
|
}
|
}
|
this.treeList1.DataSource = _allBindingList;
|
this.treeList1.RefreshDataSource();
|
}
|
|
//获取系列ID
|
public AssetsElbowSeriesViewModel 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 AddAssetsElbowSeriesDlg();
|
dlg.ReloadDataEvent += async (rhs, currentId) =>
|
{
|
if (currentId != null)
|
{
|
var select = await _bll.GetByID(Convert.ToInt64(currentId));
|
rhs.ParentIds = TreeParentIdsHelper.GetChildParentIds(select.ID, select.ParentIds);
|
}
|
var bll = new BLL.AssetsElbowSeries();
|
var id = await bll.Insert(rhs);
|
if (id > 0)
|
{
|
rhs.ID = id;
|
_allBindingList.Add(new AssetsElbowSeriesViewModel(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)
|
{
|
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 EditAssetsElbowSeriesDlg();
|
var AssetsElbowSeries = await BLLFactory<BLL.AssetsElbowSeries>.Instance.GetByID(vm.ID);
|
if (AssetsElbowSeries == null)
|
return;
|
dlg.SetBindingData(AssetsElbowSeries);
|
dlg.ReloadDataEvent += async (rhs, currentId) =>
|
{
|
if (currentId != null)
|
{
|
var select = await _bll.GetByID(Convert.ToInt64(currentId));
|
rhs.ParentIds = TreeParentIdsHelper.GetChildParentIds(select.ID, select.ParentIds);
|
}
|
if (await BLLFactory<BLL.AssetsElbowSeries>.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;
|
|
if (GetDataCountByNodeID(currentVm.ID) >= 1)
|
{
|
TipFormHelper.ShowWarn("包含子节点!");
|
return;
|
}
|
var groupresult = await _bll.DeleteByID(currentVm.ID);
|
if (groupresult)
|
{
|
_allBindingList.Remove(currentVm);
|
this.treeList1.RefreshDataSource();
|
TipFormHelper.ShowSucceed("删除成功!");
|
}
|
else
|
{
|
TipFormHelper.ShowError("删除失败!");
|
return;
|
}
|
}
|
|
//返回节点下所有子节点个数
|
private int GetDataCountByNodeID(long nodeID)
|
{
|
TreeListNode node = treeList1.FindNodeByFieldValue("ID", nodeID);
|
if (node == null)
|
{
|
return 0;
|
}
|
return node.Nodes.Count;
|
}
|
}
|
}
|