duheng
2024-09-20 7d17fabc46e87ea0f0896f760034f4d16a4dfed0
WinFrmUI/HStation.WinFrmUI.Assets.Core/06-pipelineManage/pipelineManage.cs
@@ -12,91 +12,103 @@
            this.PageTitle.SvgImageSize = new Size(24, 24);
        }
        private BLL.AdaptingManage _bll = null;
        private BLL.PipeLineManage _bll = null;
        private List<ValveMainViewModel> _allBindingList = new List<ValveMainViewModel>();
        private List<PipeLineViewModel> _allBindingList = new List<PipeLineViewModel>();
        //初始化数据
        public override void InitialDataSource()
        public override async void InitialDataSource()
        {
            _bll = new BLL.AdaptingManage();
            _bll = new BLL.PipeLineManage();
            var alllist = await _bll.GetAll();
            foreach (var item in alllist)
            {
                _allBindingList.Add(new PipeLineViewModel(item));
            }
            this.pipeLineViewModelBindingSource.DataSource = _allBindingList;
            this.pipeLineViewModelBindingSource.ResetBindings(false);
        }
        //添加阀门
        //添加管道
        private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            /*   var dlg = new AddValveMainDlg();
               var series = this.valveTypeTreeListCtrl1.GetCurrentSeries();
               if (series == null)
               {
                   MessageBoxHelper.ShowWarning("请先选择阀门系列!");
                   return;
               }
               dlg.SetBindingData(series.ID, series.Type);
               dlg.ReloadDataEvent += async (rhs) =>
               {
                   var id = await _bll.Insert(rhs);
                   if (id > 0)
                   {
                       _allBindingList.Add(new ValveMainViewModel(await _bll.GetByID(id)));
                       this.valveMainViewModelBindingSource.ResetBindings(false);
                       return true;
                   }
                   return false;
               };
               dlg.ShowDialog();*/
            var dlg = new AddPipeLineMainDlg();
            dlg.SetBindingData();
            dlg.ReloadDataEvent += async (rhs) =>
            {
                var id = await _bll.Insert(rhs);
                if (id > 0)
                {
                    rhs.ID = id;
                    _allBindingList.Add(new PipeLineViewModel(await _bll.GetByID(id)));
                    this.pipeLineViewModelBindingSource.ResetBindings(false);
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
        //编辑阀门
        //编辑管道
        private async void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            /* var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
             if (vm == null)
             {
                 MessageBoxHelper.ShowWarning("请选择数据行!");
                 return;
             }
             var dlg = new EditValveMainDlg();
             var valve = await _bll.GetByID(vm.ID);
             if (valve == null)
                 return;
             dlg.SetBindingData(valve);
             dlg.ReloadDataEvent += async (rhs) =>
             {
                 if (await _bll.Update(rhs))
                 {
                     vm.Reset(rhs);
                     this.valveMainViewModelBindingSource.ResetBindings(false);
                     return true;
                 }
                 return false;
             };
             dlg.ShowDialog();*/
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            var dlg = new EditPipeLineMainDlg();
            var PipeLine = await _bll.GetByID(vm.ID);
            if (PipeLine == null)
                return;
            var cofficientList = await new BLL.PipeLineRoughnessCoefficient().GetByPipeID(vm.ID);
            if (cofficientList == null)
                return;
            dlg.SetBindingData(PipeLine);
            dlg.ReloadDataEvent += async (rhs) =>
           {
               if (await _bll.Update(rhs))
               {
                   vm.Reset(rhs);
                   this.pipeLineViewModelBindingSource.ResetBindings(false);
                   return true;
               }
               return false;
           };
            dlg.ShowDialog();
        }
        //删除阀门
        private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            /* var currentVm = this.gridView1.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.valveMainViewModelBindingSource.ResetBindings(false);
                 TipFormHelper.ShowSucceed("删除成功!");
             }
             else
             {
                 TipFormHelper.ShowSucceed("删除失败!");
                 return;
             }*/
            var currentVm = this.gridView1.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.pipeLineViewModelBindingSource.ResetBindings(false);
                TipFormHelper.ShowSucceed("删除成功!");
            }
            else
            {
                TipFormHelper.ShowSucceed("删除失败!");
                return;
            }
        }
        //说明
        private void BtnDescription_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new DescriptionDlg();
            dlg.ShowDialog();
        }
    }
}