namespace HStation.WinFrmUI { public partial class InputXhsProjectInfoWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPageAsync { public InputXhsProjectInfoWizardPage() { InitializeComponent(); } /// /// 页面状态改变事件 /// public event Action PageStateChangedEvent; private ImportXhsProjectViewModel _vm = null;//操作对象 /// /// 初始化 /// public async void InitialPage(ImportXhsProjectViewModel vm) { if (vm == null) { return; } _vm = vm; if (vm.Project == null) { vm.Project = new XhsProjectExtensionsVmo() { SiteList = new List() { new() } }; } this.txtName.EditValue = vm.Project.Name; this.txtCustomer.EditValue = vm.Project.Customer; var allFlagList = await BLLFactory.Instance.GetBySysType(HStation.Xhs.DataType.XhsProject); this.setFlagsEditCtrl1.SetBindingData(allFlagList?.Select(x => x.Name).ToList(), vm.Project.Flags); this.txtTagNme.EditValue = vm.Project.TagName; this.txtDescription.EditValue = vm.Project.Description; } /// /// 允许上一步 /// public bool AllowPrev { get { return false; } } /// /// 允许下一步 /// public bool AllowNext { get { return true; } } /// /// 允许取消 /// public bool AllowCancel { get { return true; } } /// /// 允许完成 /// public bool AllowComplete { get { return false; } } /// /// 能否上一步 /// public Task CanPrev() { return Task.Run(() => false); } /// /// 能否下一步 /// public async Task CanNext() { if (_vm == null) { return false; } this.dxErrorProvider1.ClearErrors(); var name = this.txtName.Text.Trim(); if (string.IsNullOrEmpty(name)) { this.dxErrorProvider1.SetError(this.txtName, "必填项"); return false; } var tagName = this.txtTagNme.Text.Trim(); if (!string.IsNullOrEmpty(tagName)) { if (_vm.Project.ID < 1) { if (await BLLFactory.Instance.IsExistTagName(tagName)) { this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在"); return false; } } else { if (await BLLFactory.Instance.IsExistTagNameExceptID(tagName, _vm.Project.ID)) { this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在"); return false; } } } _vm.Project.Name = name; _vm.Project.Customer = this.txtCustomer.Text.Trim(); _vm.Project.Flags = this.setFlagsEditCtrl1.SelectedFlagList; _vm.Project.TagName = tagName; _vm.Project.Description = this.txtDescription.Text.Trim(); _vm.Project.SiteList.First().Name = name; return true; } /// /// 能否关闭 /// public Task CanCancel() { return Task.Run(() => true); } /// /// 能否完成 /// public Task CanComplete() { return Task.Run(() => false); } //选择文件 private void btnEditSelectModelFile_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { if (e.Button.Tag.ToString() == "Local") { var suffix = Settings.XhsParasHelper.Xhs.File.Suffix; var dlg = new OpenFileDialog(); dlg.Filter = $"模型文件(*{suffix})|*{suffix}"; dlg.FilterIndex = 1; if (dlg.ShowDialog() == DialogResult.OK) { var fileName = dlg.FileName; this.btnEditSelectModelFile.EditValue = fileName; _vm.IsLocal = true; _vm.LocalZipFile = fileName; } } else { var dlg = new SelectXhsProjectTransferFileDlg(); dlg.SetBindingData(); dlg.ReloadDataEvent += (rhs) => { this.btnEditSelectModelFile.EditValue = rhs.FileName; _vm.IsLocal = false; _vm.TransferRevitFile = rhs; }; dlg.ShowDialog(); } } } }