duheng
2024-12-09 477be839d94e42de8bef6c4fa55496253d4ceb7a
WinFrmUI/HStation.WinFrmUI.Assets.Core/04-pipe/01-series/PipeLineTreeListCtrl.cs
@@ -1,5 +1,6 @@
using DevExpress.XtraEditors;
using Yw;
using Yw.Untity;
namespace HStation.WinFrmUI.Assets
{
@@ -18,24 +19,27 @@
        //聚焦改变事件
        public event Action<long> ReloadEvent = null;
        private BLL.PipeLineSeries _bll = null;
        private BLL.AssetsPipeSeries _bll = null;
        private List<PipeLineSeriesViewModel> _allBindingList = new List<PipeLineSeriesViewModel>();
        private List<AssetsPipeSeriesViewModel> _allBindingList = new List<AssetsPipeSeriesViewModel>();
        public async void SetBindingData()
        {
            _bll = new BLL.PipeLineSeries();
            _bll = new BLL.AssetsPipeSeries();
            var alllist = await _bll.GetAll();
            foreach (var item in alllist)
            if (alllist != null)
            {
                _allBindingList.Add(new PipeLineSeriesViewModel(item));
                foreach (var item in alllist)
                {
                    _allBindingList.Add(new AssetsPipeSeriesViewModel(item));
                }
            }
            this.treeList1.DataSource = _allBindingList;
            this.treeList1.RefreshDataSource();
        }
        //获取系列ID
        public PipeLineSeriesViewModel GetCurrentSeries()
        public AssetsPipeSeriesViewModel GetCurrentSeries()
        {
            var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
@@ -47,14 +51,19 @@
        private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new AddPipeLineSeriesDlg();
            dlg.ReloadDataEvent += async (rhs) =>
            dlg.ReloadDataEvent += async (rhs, currentId) =>
            {
                var bll = new BLL.PipeLineSeries();
                if (currentId != null)
                {
                    var select = await _bll.GetByID(Convert.ToInt64(currentId));
                    rhs.ParentIds = TreeParentIdsHelper.GetChildParentIds(select.ID, select.ParentIds);
                }
                var bll = new BLL.AssetsPipeSeries();
                var id = await bll.Insert(rhs);
                if (id > 0)
                {
                    rhs.ID = id;
                    _allBindingList.Add(new PipeLineSeriesViewModel(rhs));
                    _allBindingList.Add(new AssetsPipeSeriesViewModel(rhs));
                    this.treeList1.RefreshDataSource();
                    return true;
                }
@@ -69,7 +78,6 @@
            var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            ReloadEvent.Invoke(vm.ID);
@@ -85,13 +93,18 @@
                return;
            }
            var dlg = new EditPipeLineSeriesDlg();
            var PipeLineSeries = await BLLFactory<BLL.PipeLineSeries>.Instance.GetByID(vm.ID);
            var PipeLineSeries = await BLLFactory<BLL.AssetsPipeSeries>.Instance.GetByID(vm.ID);
            if (PipeLineSeries == null)
                return;
            dlg.SetBindingData(PipeLineSeries);
            dlg.ReloadDataEvent += async (rhs) =>
            dlg.ReloadDataEvent += async (rhs, currentId) =>
            {
                if (await BLLFactory<BLL.PipeLineSeries>.Instance.Update(rhs))
                if (currentId != null)
                {
                    var select = await _bll.GetByID(Convert.ToInt64(currentId));
                    rhs.ParentIds = TreeParentIdsHelper.GetChildParentIds(select.ID, select.ParentIds);
                }
                if (await BLLFactory<BLL.AssetsPipeSeries>.Instance.Update(rhs))
                {
                    vm.Reset(rhs);
                    this.treeList1.RefreshDataSource();