From 26f45822a2a84af81e20ca543da98d3b822c5afd Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 17 二月 2025 21:25:59 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-info/InputXhsProjectInfoWizardPage.cs |  124 ++++++++++++++++++++++-------------------
 1 files changed, 67 insertions(+), 57 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-info/InputXhsProjectInfoWizardPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-info/InputXhsProjectInfoWizardPage.cs
index e9951ab..fe7c9d2 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-info/InputXhsProjectInfoWizardPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-info/InputXhsProjectInfoWizardPage.cs
@@ -1,9 +1,6 @@
-锘縰sing DevExpress.XtraBars.Customization;
-using Yw.CAL.HttpClient;
-
-namespace HStation.WinFrmUI
+锘縩amespace 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()
         {
@@ -16,28 +13,33 @@
         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>
@@ -58,18 +60,7 @@
         {
             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;
             }
         }
 
@@ -78,7 +69,10 @@
         /// </summary>
         public bool AllowCancel
         {
-            get { return true; }
+            get
+            {
+                return true;
+            }
         }
 
         /// <summary>
@@ -86,28 +80,32 @@
         /// </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;
@@ -115,37 +113,49 @@
             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")
@@ -158,22 +168,22 @@
                 {
                     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();
             }
-
         }
 
 

--
Gitblit v1.9.3