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; } } } }