| | |
| | | using DevExpress.XtraBars.Customization; |
| | | using Yw.CAL.HttpClient; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | namespace HStation.WinFrmUI |
| | | { |
| | | public partial class InputXhsProjectInfoWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel> |
| | | public partial class InputXhsProjectInfoWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPageAsync<ImportXhsProjectViewModel> |
| | | { |
| | | public InputXhsProjectInfoWizardPage() |
| | | { |
| | |
| | | public event Action PageStateChangedEvent; |
| | | |
| | | private ImportXhsProjectViewModel _vm = null;//操作对象 |
| | | private bool _isInitialize = false;//是否初始化 |
| | | private Lazy<HStation.BLL.XhsProject> _bllProject = new(() => new HStation.BLL.XhsProject());//项目bll |
| | | private Lazy<Yw.BLL.SysFlag> _bllFlag = new(() => new Yw.BLL.SysFlag());//标签bll |
| | | public static Action AutoAddItem; |
| | | public static Action DeleteItem; |
| | | public static bool AllowImport = false; |
| | | |
| | | /// <summary> |
| | | /// 初始化 |
| | | /// </summary> |
| | | public async void InitialPage(ImportXhsProjectViewModel t) |
| | | public async void InitialPage(ImportXhsProjectViewModel vm) |
| | | { |
| | | if (_isInitialize) |
| | | if (vm == null) |
| | | { |
| | | return; |
| | | } |
| | | _vm = t; |
| | | _isInitialize = true; |
| | | var allFlagList = await _bllFlag.Value.GetBySysType(HStation.Xhs.DataType.XhsProject); |
| | | if (allFlagList == null) |
| | | return; |
| | | this.setFlagsEditCtrl1.SetBindingData(allFlagList.Select(x => x.Name).ToList(), null); |
| | | _vm = vm; |
| | | if (vm.Project == null) |
| | | { |
| | | vm.Project = new XhsProjectExtensionsVmo() |
| | | { |
| | | SiteList = new List<XhsProjectSiteVmo>() |
| | | { |
| | | new() |
| | | } |
| | | }; |
| | | } |
| | | this.txtName.EditValue = vm.Project.Name; |
| | | this.txtCustomer.EditValue = vm.Project.Customer; |
| | | var allFlagList = await BLLFactory<Yw.BLL.SysFlag>.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; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | get |
| | | { |
| | | _vm.ZipFile = this.btnEditSelectModelFile.Text.Trim(); |
| | | /* if (_vm.ZipFile != string.Empty) |
| | | { |
| | | AllowImport = true; |
| | | AutoAddItem.Invoke(); |
| | | } |
| | | else |
| | | { |
| | | AllowImport = false; |
| | | DeleteItem.Invoke(); |
| | | }*/ |
| | | return _isInitialize; |
| | | return true; |
| | | } |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | public bool AllowCancel |
| | | { |
| | | get { return true; } |
| | | get |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public bool AllowComplete |
| | | { |
| | | get { return false; } |
| | | get |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 能否上一步 |
| | | /// </summary> |
| | | public bool CanPrev() |
| | | public Task<bool> CanPrev() |
| | | { |
| | | return true; |
| | | return Task.Run(() => false); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 能否下一步 |
| | | /// </summary> |
| | | public bool CanNext() |
| | | public async Task<bool> CanNext() |
| | | { |
| | | if (!_isInitialize) |
| | | if (_vm == null) |
| | | { |
| | | return false; |
| | | } |
| | | this.dxErrorProvider1.ClearErrors(); |
| | | if (string.IsNullOrEmpty(this.txtName.Text.Trim())) |
| | | 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 (_bllProject.Value.IsExistTagName(tagName).Result) |
| | | if (_vm.Project.ID < 1) |
| | | { |
| | | this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在"); |
| | | return false; |
| | | if (await BLLFactory<HStation.BLL.XhsProject>.Instance.IsExistTagName(tagName)) |
| | | { |
| | | this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在"); |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (await BLLFactory<HStation.BLL.XhsProject>.Instance.IsExistTagNameExceptID(tagName, _vm.Project.ID)) |
| | | { |
| | | this.dxErrorProvider1.SetError(this.txtTagNme, "标记已存在"); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | _vm.Name = this.txtName.Text.Trim(); |
| | | _vm.Customer = this.txtCustomer.Text.Trim(); |
| | | // _vm.Address = this.txtAddress.Text.Trim(); |
| | | _vm.Flags = null; |
| | | _vm.TagName = tagName; |
| | | _vm.Description = this.txtDescription.Text.Trim(); |
| | | _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; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 能否关闭 |
| | | /// </summary> |
| | | public bool CanCancel() |
| | | public Task<bool> CanCancel() |
| | | { |
| | | return true; |
| | | return Task.Run(() => true); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 能否完成 |
| | | /// </summary> |
| | | public bool CanComplete() |
| | | public Task<bool> CanComplete() |
| | | { |
| | | return false; |
| | | return Task.Run(() => false); |
| | | } |
| | | |
| | | //选择文件 |
| | | private void btnEditSelectModelFile_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) |
| | | { |
| | | if (e.Button.Tag.ToString() == "Local") |
| | |
| | | { |
| | | var fileName = dlg.FileName; |
| | | this.btnEditSelectModelFile.EditValue = fileName; |
| | | _vm.IsLocal = true; |
| | | _vm.LocalZipFile = fileName; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var dlg = new SelectXhsProjectTransferFileDlg(); |
| | | dlg.SetBindingData(); |
| | | dlg.ReloadDataEvent += async (rhs) => |
| | | dlg.ReloadDataEvent += (rhs) => |
| | | { |
| | | var fileName = await BLLFactory<HStation.BLL.TransferRevitFile>.Instance.Download(rhs.StorageHouse, rhs.StorageCode); |
| | | |
| | | |
| | | this.btnEditSelectModelFile.EditValue = fileName; |
| | | this.btnEditSelectModelFile.EditValue = rhs.FileName; |
| | | _vm.IsLocal = false; |
| | | _vm.TransferRevitFile = rhs; |
| | | }; |
| | | dlg.ShowDialog(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |