using DevExpress.Utils; using HStation.WinFrmUI.Xhs; namespace HStation.WinFrmUI { public partial class XhsProjectMgrPage : DocumentPage { public XhsProjectMgrPage() { InitializeComponent(); this.treeList1.InitialMultiColSettings(); this.PageTitle.Caption = "项目管理"; this.PageTitle.HeaderSvgImage = this.svgImg32[0]; this.PageTitle.SvgImageSize = new Size(24, 24); } private List _allProjectList = null; private BLL.XhsProjectExtensions _bll = null; /// /// 初始化数据源 /// public override async void InitialDataSource() { base.InitialDataSource(); _bll = new BLL.XhsProjectExtensions(); var allProjectList = await _bll.GetAll(); _allProjectList = new List(); if (allProjectList != null && allProjectList.Count > 0) { foreach (var project in allProjectList) { var vm = new XhsProjectMgrViewModel(project); _allProjectList.Add(vm); } } this.xhsProjectMgrViewModelBindingSource.DataSource = _allProjectList; } //发布 private void barBtnPublish_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } //查看bimface模型 private async void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = GetCurrentViewModel(); if (vm == null) { return; } var guid = new PageGuid() { Modular = Yw.WinFrmUI.PageModular.Bimface, MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, Function = Yw.WinFrmUI.PageFunction.ViewBimface3d, TagName = $"{vm.ID}" }; if (!IsExistPage(guid, true)) { var page = new ViewXhsProjectBimfacePage(); await page.SetBindingData(vm.ID); CreatePage(page, guid); } } //全部展开 private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.ExpandAll(); } //全部折叠 private void barBtnCollpseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.CollapseAll(); } /// /// 树线 /// private void barCkTreeLine_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.OptionsView.ShowTreeLines = this.barCkTreeLine.Checked ? DefaultBoolean.True : DefaultBoolean.False; } //查询 private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.treeList1.OptionsFind.AlwaysVisible = !this.treeList1.OptionsFind.AlwaysVisible; } //刷新 private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.RefreshData(); } #region 当前 //获取当前 private XhsProjectMgrViewModel GetCurrentViewModel() { if (_allProjectList == null) { Yw.WinFrmUI.MessageBoxHelper.ShowError("数据初始化错误!"); return null; } if (_allProjectList == null) { Yw.WinFrmUI.MessageBoxHelper.ShowInfo("无数据"); return null; } var vm = this.treeList1.GetCurrentViewModel(_allProjectList); if (vm == null) { Yw.WinFrmUI.MessageBoxHelper.ShowInfo("请选择数据行!"); return null; } return vm; } #endregion 当前 #region 基础操作 //添加 private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddProjectDlg(); dlg.ReloadDataEvent += async (rhs) => { var bll = new BLL.XhsProjectExtensions(); var id = await bll.Insert(rhs); if (id > 0) { rhs.ID = id; var vmo = await _bll.GetByID(id); _allProjectList.Add(new XhsProjectMgrViewModel(vmo)); this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.GetCurrentViewModel(); var dlg = new EditProjectDlg(); dlg.SetBindingData(currentVm.ID); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { currentVm.Reset(rhs); this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //删除 private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = GetCurrentViewModel(); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示")) return; var groupresult = await _bll.DeleteByID(currentVm.ID); if (groupresult) { _allProjectList.Remove(currentVm); this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); MessageBoxHelper.ShowSuccess($"删除成功!"); } else { MessageBoxHelper.ShowError($"删除失败!"); return; } } #endregion 基础操作 } }