duheng
2024-06-25 43e88ef24c6b3a7988c495d1740e68e33ce52f84
WinFrmUI/HStation.WinFrmUI.Xhs.Project/01-project/XhsProjectListPage.cs
@@ -26,31 +26,38 @@
        private List<ProjectViewModel> _allBindingList = new List<ProjectViewModel>();
        private ProjectViewModel _prjviewmodel = new ProjectViewModel();
        /// <summary>
        /// 初始化数据
        /// </summary>
        private async void SetBindingData()
        {
            _allBindingList.Clear();
            var alllist = await _bll.GetAll();
            if (alllist != null)
            {
                foreach (var item in alllist)
                {
                    _allBindingList.Add(new ProjectViewModel(item));
                    var model = new ProjectViewModel(item);
                    _allBindingList.Add(await _prjviewmodel.SetUploadStatusAsync(model));
                }
                this.projectViewModelBindingSource.DataSource = _allBindingList;
                this.projectViewModelBindingSource.ResetBindings(false);
            }
            this.projectViewModelBindingSource.DataSource = _allBindingList;
            this.projectViewModelBindingSource.ResetBindings(false);
        }
        //添加
        private async void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new AddProjectDlg();
            dlg.ReloadEvent += async (rhs) =>
            dlg.ReloadEvent += async (pro, item, model, map) =>
            {
                var id = await _bll.Insert(rhs);
                var id = await _bll.InsertEx(pro, item, model, map);
                if (id > 0)
                {
                    var vmmodel = await _bll.GetByID(id);
                    _allBindingList.Add(new ProjectViewModel(vmmodel));
                    _allBindingList.Add(await new ProjectViewModel().SetUploadStatusAsync(vmmodel));
                    this.projectViewModelBindingSource.ResetBindings(false);
                    return true;
                }
@@ -60,7 +67,7 @@
        }
        //修改
        private async void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
@@ -69,11 +76,13 @@
                return;
            }
            var dlg = new EditProjectDlg();
            dlg.SetBindingData(vm);
            dlg.ReloadEvent += async (rhs) =>
            dlg.SetBindingData(vm.ID);
            dlg.ReloadEvent += async (prj, item) =>
            {
                if (await _bll.Update(rhs))
                if (await _bll.UpdateEx(prj, item))
                {
                    vm.Reset(prj);
                    this.projectViewModelBindingSource.ResetBindings(false);
                    return true;
                }
                return false;
@@ -92,7 +101,7 @@
            }
            if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示", MessageBoxButtons.OKCancel))
                return;
            var result = await _bll.DeleteByID(vm.ID);
            var result = await _bll.DeleteEx(vm.ID);
            if (!result)
            {
                MessageBoxHelper.ShowError($"删除失败!", "警告");
@@ -102,5 +111,110 @@
            _allBindingList.Remove(vm);
            this.projectViewModelBindingSource.ResetBindings(false);
        }
        //使用状态
        private void BtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            var dlg = new SetUseStatusDlg();
            dlg.SetBindingData(vm.UseStatus);
            dlg.ReloadDataEvent += async (useStatus) =>
            {
                var result = await _bll.UpdateUseStatus(vm.ID, (int)useStatus);
                if (result)
                {
                    vm.UseStatus = useStatus;
                    vm.Reset(vm);
                    this.projectViewModelBindingSource.ResetBindings(false);
                }
                return result;
            };
            dlg.ShowDialog();
        }
        //刷新
        private void BtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            this.SetBindingData();
        }
        //历史模型
        private void BtnModelEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            var dlg = new ModelEdit();
            dlg.SetBiningData(vm.ID);
            dlg.ShowDialog();
        }
        //模型编辑
        private void BtnEditModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            var dlg = new SetModelEditDlg();
            dlg.SetBindingData(vm.ID);
            dlg.ReloadDataEvent += async (rhs) =>
            {
                var bll = new BLL.XhsProjectItemModel();
                if (await bll.Update(rhs))
                {
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
        private async void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            if (_allBindingList == null || _allBindingList.Count < 1)
                return;
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
                return;
            if (e.Column == this.colModelManage)
            {
                var guid = new SurfaceGuid()
                {
                    Function = "模型管理",
                    Modular = eModular.Basic
                };
                if (!IsExistPage(guid, true))
                {
                    var bll = new BLL.XhsProjectItemModel();
                    var result = await bll.GetByPrjID(vm.ID);
                    var select = result.Where(x => x.UseStatus == 1).FirstOrDefault();
                    if (select != null)
                    {
                        var page = new ModelManageCtrl(select);
                        page.PageTitle.Caption = guid.Function;
                        page.SurfaceGuid = guid;
                        CreatePage(page, guid);
                    }
                }
            }
        }
        //测试
        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var bll = new BLL.PumpSeries();
            var all = bll.GetAll();
        }
    }
}