using DevExpress.XtraEditors;
using Yw;
using Yw.Untity;
namespace HStation.WinFrmUI.Assets
{
///
///
///
public partial class PackageTreeListCtrl : XtraUserControl
{
public PackageTreeListCtrl()
{
InitializeComponent();
this.treeList1.InitialDefaultSettings();
this.treeList1.SelectImageList = ImageLib.Lib;
}
//聚焦改变事件
public event Action ReloadEvent = null;
private BLL.AssetsPackageSeries _bll = null;
private List _allBindingList = new List();
public async void SetBindingData()
{
_bll = new BLL.AssetsPackageSeries();
var alllist = await _bll.GetAll();
if (alllist != null)
{
foreach (var item in alllist)
{
_allBindingList.Add(new AssetsPackageSeriesViewModel(item));
}
}
this.treeList1.DataSource = _allBindingList;
this.treeList1.RefreshDataSource();
}
//获取系列ID
public AssetsPackageSeriesViewModel 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 AddAssetsPackageSeriesDlg();
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.AssetsPackageSeries();
var id = await bll.Insert(rhs);
if (id > 0)
{
rhs.ID = id;
_allBindingList.Add(new AssetsPackageSeriesViewModel(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 EditAssetsPackageSeriesDlg();
var AssetsEquipmentSeries = await BLLFactory.Instance.GetByID(vm.ID);
if (AssetsEquipmentSeries == null)
return;
dlg.SetBindingData(AssetsEquipmentSeries);
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.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;
}
}
}
}