From a8ccc992964272f6a74631e8c164e8c91e5cb6d4 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期六, 12 十月 2024 16:47:29 +0800
Subject: [PATCH] 处理冲突

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs |  470 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 262 insertions(+), 208 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
index 06e530d..0f9ca13 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
@@ -1,16 +1,17 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing Castle.Core.Internal;
+using DevExpress.XtraEditors;
+using HStation.Vmo;
 using static DevExpress.XtraEditors.XtraInputBox;
 using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
 
 namespace HStation.WinFrmUI
 {
     /// <summary>
-    /// 
+    ///
     /// </summary>
     public class ImportXhsProjectHelper
     {
         private const string _tempFolder = "ImportProjectTemp";//瀵煎叆椤圭洰涓存椂鏂囦欢澶�
-
 
         /// <summary>
         /// 瀵煎叆
@@ -19,14 +20,14 @@
         /// <param name="feedBackMsg">淇℃伅鍙嶉</param>
         /// <param name="feedBackProgress">杩涘害鍙嶉</param>
         /// <returns></returns>
-        public static async Task<bool> Import(ImportXhsProjectViewModel vm, Action<string> feedBackMsg, Action<int, int> feedBackProgress)
+        public static async Task<bool> Import(ImportXhsProjectViewModel vm, Action<string, Color> feedBackMsg, Action<int, int> feedBackProgress)
         {
             var msg = string.Empty;
 
             #region 绗竴姝� 涓存椂鏂囦欢澶勭悊锛堣繘搴�5%锛�
 
             msg = "寮�濮嬪鍏ラ」鐩�...";
-            feedBackMsg?.Invoke(msg);
+            feedBackMsg?.Invoke(msg, Color.Black);
 
             //涓存椂鏂囦欢澶硅矾寰�
             var tempFolder = Path.Combine(Yw.Service.ConfigHelper.DataPath, HStation.Settings.XhsParasHelper.Xhs.DataFolder, _tempFolder);
@@ -40,80 +41,13 @@
 
             feedBackProgress?.Invoke(100, 5);
 
-            #endregion
+            #endregion 绗竴姝� 涓存椂鏂囦欢澶勭悊锛堣繘搴�5%锛�
 
-            #region 绗簩姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�10%锛�
+            #region 绗簩姝� 鍒涘缓椤圭洰锛堣繘搴� 10%锛�
 
-            msg = "姝e湪瑙f瀽妯″瀷鏂囦欢...";
-            feedBackMsg?.Invoke(msg);
-            var bol = Yw.FileFolderZipHelper.UnZip(vm.ZipFile, tempFolder, null);
-            if (!bol)
-            {
-                feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
-                return false;
-            }
+            feedBackMsg?.Invoke("姝e湪鍒涘缓椤圭洰...", Color.Black);
 
-            var tempFolderInfo = new DirectoryInfo(tempFolder);
-            var allFileInfoList = tempFolderInfo.GetFiles();
-            if (allFileInfoList == null || allFileInfoList.Count() < 1)
-            {
-                feedBackMsg?.Invoke("妯″瀷鏂囦欢鏍煎紡閿欒锛侊紒锛�");
-                return false;
-            }
-
-            feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽鎴愬姛銆傘�傘��");
-
-            feedBackProgress?.Invoke(100, 10);
-
-            #endregion
-
-            #region 绗笁姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�15%锛�
-
-            feedBackMsg?.Invoke("姝e湪瑙f瀽姘村姏缁撴瀯鏂囦欢...");
-            var jsonFileInfo = allFileInfoList.Where(x => x.Extension == ".json").FirstOrDefault();
-            if (jsonFileInfo == null)
-            {
-                feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢鏍煎紡閿欒锛侊紒锛�");
-                return false;
-            }
-
-            var revitModel = HStation.Service.RevitParseHelper.FromJsonFile(jsonFileInfo.FullName, out msg);
-            if (revitModel == null)
-            {
-                feedBackMsg?.Invoke("msg锛侊紒锛�");
-                return false;
-            }
-
-            var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(revitModel, out msg);
-            if (hydroInfo == null)
-            {
-                feedBackMsg?.Invoke($"姘村姏缁撴瀯鏂囦欢瑙f瀽澶辫触锛寋msg}锛侊紒锛�");
-                return false;
-            }
-
-            var bllHydroInfo = new Yw.BLL.HydroModelInfo();
-            var hydroId = await bllHydroInfo.Save(hydroInfo);
-            if (hydroId < 1)
-            {
-                feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨澶辫触锛侊紒锛�");
-                return false;
-            }
-
-            feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢瑙f瀽鎴愬姛銆傘�傘��");
-
-            feedBackProgress?.Invoke(100, 15);
-
-            vm.HydroID = hydroId;
-
-            #endregion
-
-            #region 绗洓姝� 鍒涘缓椤圭洰锛堣繘搴� 20%锛�
-
-            feedBackMsg?.Invoke("姝e湪鍒涘缓椤圭洰...");
-
-            var bllXhsProjectExtensions = new Lazy<BLL.XhsProjectExtensions>(() => new BLL.XhsProjectExtensions());
-
-            var project = new AddXhsProjectExtensionsInput();
+            var project = new Vmo.XhsProjectExtensionsVmo();
             project.NO = vm.NO;
             project.Name = vm.Name;
             project.Address = vm.Address;
@@ -121,75 +55,37 @@
             project.Flags = vm.Flags;
             project.TagName = vm.TagName;
             project.Description = vm.Description;
+            project.SiteList = new List<XhsProjectSiteVmo>()
+             {
+                    new XhsProjectSiteVmo()
+                     {
+                            Name=vm.Name,
+                            Description=vm.Description
+                     }
+             };
 
-            project.SiteList = new List<AddXhsProjectSiteExtensionsInput>() {
-                new AddXhsProjectSiteExtensionsInput(){
-                    Name=vm.Name,
-                    Description=vm.Description
-                }
-            };
-
-            var projectId = await bllXhsProjectExtensions.Value.Insert(project);
+            var projectId = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.Insert(project);
             if (projectId < 1)
             {
-                feedBackMsg?.Invoke("椤圭洰鍒涘缓澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("椤圭洰鍒涘缓澶辫触锛侊紒锛�", Color.Red);
                 return false;
             }
 
-            feedBackMsg?.Invoke("椤圭洰鍒涘缓鎴愬姛銆傘�傘��");
+            feedBackMsg?.Invoke("椤圭洰鍒涘缓鎴愬姛銆傘�傘��", Color.Green);
 
             vm.ProjectID = projectId;
 
-            feedBackProgress?.Invoke(100, 20);
+            feedBackProgress?.Invoke(100, 10);
 
-            #endregion
+            #endregion 绗簩姝� 鍒涘缓椤圭洰锛堣繘搴� 10%锛�
 
-            #region 绗簲姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 25%锛�
+            #region 绗笁姝� 璁剧疆鍦板浘浣嶇疆锛堣繘搴� 20%锛�
 
-            var bllXhsProjectSite = new BLL.XhsProjectSiteStd();
-            var projectSite = await bllXhsProjectSite.GetDefaultByProjectID(projectId);
-            if (projectSite == null)
-            {
-                feedBackMsg?.Invoke("椤圭洰绔欎俊鎭敊璇�...");
-                return false;
-            }
-
-            var projectSiteId = projectSite.ID;
-            vm.ProjectSiteID = projectSite.ID;
-
-            feedBackMsg?.Invoke("姝e湪鍏宠仈姘村姏缁撴瀯妯″瀷...");
-
-            var hydroRelation = new Yw.Dto.AddHydroModelRelationInput();
-            hydroRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite;
-            hydroRelation.ObjectID = projectSiteId;
-            hydroRelation.ModelID = hydroId;
-            hydroRelation.Purpose = Yw.Hydro.Purpose.Simulation;
-            hydroRelation.Content = null;
-            hydroRelation.Description = null;
-
-            var bllHydroRelation = new Yw.BLL.HydroModelRelation();
-            var hydroRelationId = await bllHydroRelation.Insert(hydroRelation);
-            if (hydroRelationId < 1)
-            {
-                feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷澶辫触锛侊紒锛�");
-                return false;
-            }
-
-            vm.HydroRelationID = hydroRelationId;
-
-            feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷鎴愬姛銆傘�傘��");
-
-            feedBackProgress?.Invoke(100, 25);
-
-            #endregion
-
-            #region 绗叚姝� 璁剧疆鍦板浘浣嶇疆锛堣繘搴� 30%锛�
-
-            feedBackMsg?.Invoke("姝e湪璁剧疆鍦板浘浣嶇疆...");
+            feedBackMsg?.Invoke("姝e湪璁剧疆鍦板浘浣嶇疆...", Color.Black);
 
             if (vm.Location != null)
             {
-                var mapInfo = new Yw.Dto.AddMapInfoInput();
+                var mapInfo = new Yw.Vmo.MapInfoVmo();
                 mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject;
                 mapInfo.ObjectID = projectId;
                 mapInfo.ObjectName = project.Name;
@@ -198,60 +94,239 @@
                 mapInfo.Shape = Yw.Map.Shape.Marker;
                 mapInfo.Position = vm.Location.ToJson();
 
-                var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo);
+                var mapInfoId = await BLLFactory<Yw.BLL.MapInfo>.Instance.Insert(mapInfo);
                 if (mapInfoId < 1)
                 {
-                    feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆澶辫触锛侊紒锛�");
+                    feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆澶辫触锛侊紒锛�", Color.Red);
                 }
                 else
                 {
                     vm.MapInfoID = mapInfoId;
-                    feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆鎴愬姛銆傘�傘��");
+                    feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆鎴愬姛銆傘�傘��", Color.Green);
                 }
             }
             else
             {
-                feedBackMsg?.Invoke("鏈缃湴鍥句綅缃俊鎭紒锛侊紒");
+                feedBackMsg?.Invoke("鏈缃湴鍥句綅缃俊鎭紒锛侊紒", Color.Red);
             }
 
+            feedBackProgress?.Invoke(100, 20);
 
-            feedBackProgress?.Invoke(100, 30);
+            #endregion 绗笁姝� 璁剧疆鍦板浘浣嶇疆锛堣繘搴� 20%锛�
 
-            #endregion
+            #region 绗洓姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�25%锛�
 
-            #region 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 45%锛�
+            msg = "姝e湪瑙f瀽妯″瀷鏂囦欢...";
+            feedBackMsg?.Invoke(msg, Color.Black);
 
-            feedBackMsg?.Invoke("姝e湪瑙f瀽Revit妯″瀷鏂囦欢...");
-            var rvtFileInfo = allFileInfoList.Where(x => x.Extension == ".rvt").FirstOrDefault();
-            if (rvtFileInfo == null)
+            var zipFilePwd = HStation.Settings.XhsParasHelper.Xhs.File.Password;
+            var bol = Yw.FileFolderZipHelper.UnZip(vm.ZipFile, tempFolder, zipFilePwd);
+            if (!bol)
             {
-                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
                 return true;
             }
 
-            //var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶
-            var bimfaceId = 10000870453147; //娴嬭瘯鐢ㄤ緥
+            var tempFolderInfo = new DirectoryInfo(tempFolder);
+            var allFileInfoList = tempFolderInfo.GetFiles();
+            if (allFileInfoList == null || allFileInfoList.Count() < 1)
+            {
+                feedBackMsg?.Invoke("妯″瀷鏂囦欢鏍煎紡閿欒锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽鎴愬姛銆傘�傘��", Color.Green);
+
+            feedBackProgress?.Invoke(100, 25);
+
+            #endregion 绗洓姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�25%锛�
+
+            #region 绗簲姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�30%锛�
+
+            feedBackMsg?.Invoke("姝e湪瑙f瀽姘村姏缁撴瀯鏂囦欢...", Color.Black);
+            var structFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.StructFileName);
+            if (structFileInfo == null)
+            {
+                feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢鏍煎紡閿欒锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+            var structOthersFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.StructOthersFileName);
+
+            var structRevitModel = HStation.Service.RevitParseHelper.FromJsonFile(structFileInfo.FullName, structOthersFileInfo?.FullName, out msg);
+            if (structRevitModel == null)
+            {
+                feedBackMsg?.Invoke($"{msg}锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            //Revit 灞炴�ч敊璇鐞�
+            var hasRevitError = false;
+            var allRevitParterList = structRevitModel.GetAllParters();
+            foreach (var revitParter in allRevitParterList)
+            {
+                if (revitParter.PropStatusList != null && revitParter.PropStatusList.Count > 0)
+                {
+                    foreach (var revitParterPropStatus in revitParter.PropStatusList)
+                    {
+                        if (revitParterPropStatus.PropStatus == HStation.Revit.ePropStatus.Error)
+                        {
+                            hasRevitError = true;
+                        }
+                        switch (revitParterPropStatus.PropStatus)
+                        {
+                            case Revit.ePropStatus.Error:
+                                {
+                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岄敊璇細{revitParterPropStatus.StatusInfo} ", Color.Red);
+                                }
+                                break;
+
+                            case Revit.ePropStatus.Lack:
+                                {
+                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岀己鐪侊細{revitParterPropStatus.StatusInfo} ", Color.Gray);
+                                }
+                                break;
+
+                            case Revit.ePropStatus.Abnormal:
+                                {
+                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛屽紓甯革細{revitParterPropStatus.StatusInfo} ", Color.Orange);
+                                }
+                                break;
+                        }
+                    }
+                }
+            }
+            if (hasRevitError)
+            {
+                feedBackMsg?.Invoke($"姘村姏缁撴瀯鏂囦欢灞炴�ч敊璇紒锛侊紒", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(structRevitModel, out msg);
+            if (hydroInfo == null)
+            {
+                feedBackMsg?.Invoke($"姘村姏缁撴瀯鏂囦欢瑙f瀽澶辫触锛寋msg}锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            var hydroId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(hydroInfo);
+            if (hydroId < 1)
+            {
+                feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            feedBackMsg?.Invoke("姝e湪杩涜浜у搧鍖归厤...", Color.Black);
+            hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroId);
+            var matchingParas = AssetsMatchingParasHelper.Create(hydroInfo);
+            if (AssetsMatchingHelper.Matching(matchingParas, out string error))
+            {
+                if (AssetsMatchingParasHelper.Apply(hydroInfo, matchingParas))
+                {
+                    feedBackMsg?.Invoke("浜у搧鍖归厤鎴愬姛銆傘�傘��", Color.Green);
+                }
+                else
+                {
+                    feedBackMsg?.Invoke("浜у搧鍖归厤澶辫触锛侊紒锛�", Color.Red);
+                }
+            }
+            else
+            {
+                feedBackMsg?.Invoke("浜у搧鍖归厤澶辫触锛侊紒锛�", Color.Red);
+            }
+            hydroId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(hydroInfo);
+
+            feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢瑙f瀽鎴愬姛銆傘�傘��", Color.Green);
+            feedBackProgress?.Invoke(100, 30);
+            vm.HydroID = hydroId;
+
+            #endregion 绗簲姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�30%锛�
+
+            #region 绗叚姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 40%锛�
+
+            var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId);
+            if (projectSite == null)
+            {
+                feedBackMsg?.Invoke("椤圭洰绔欎俊鎭敊璇�...", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            var projectSiteId = projectSite.ID;
+            vm.ProjectSiteID = projectSite.ID;
+
+            feedBackMsg?.Invoke("姝e湪鍏宠仈姘村姏缁撴瀯妯″瀷...", Color.Black);
+
+            var hydroRelation = new Yw.Vmo.HydroModelRelationVmo();
+            hydroRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite;
+            hydroRelation.ObjectID = projectSiteId;
+            hydroRelation.ModelID = hydroId;
+            hydroRelation.Purpose = HStation.Xhs.Purpose.Simulation;
+            hydroRelation.Content = null;
+            hydroRelation.Description = null;
+
+            var hydroRelationId = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.Insert(hydroRelation);
+            if (hydroRelationId < 1)
+            {
+                feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            vm.HydroRelationID = hydroRelationId;
+            feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷鎴愬姛銆傘�傘��", Color.Green);
+            feedBackProgress?.Invoke(100, 40);
+
+            #endregion 绗叚姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 40%锛�
+
+            #region 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 45%锛�
+
+            feedBackMsg?.Invoke("姝e湪瑙f瀽Revit妯″瀷鏂囦欢...", Color.Black);
+            var rvtFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.RvtFileName);
+            if (rvtFileInfo == null)
+            {
+                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+
+            // var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶
+            var bimfaceId = 10000878572231; //娴嬭瘯鐢ㄤ緥
             if (bimfaceId < 1)
             {
-                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�");
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
                 return true;
             }
 
             vm.BimfaceId = bimfaceId;
-
-            feedBackMsg?.Invoke("瑙f瀽Revit妯″瀷鏂囦欢鎴愬姛銆傘�傘��");
-
+            feedBackMsg?.Invoke("瑙f瀽Revit妯″瀷鏂囦欢鎴愬姛銆傘�傘��", Color.Green);
             feedBackProgress?.Invoke(100, 45);
 
-            #endregion
+            #endregion 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 45%锛�
 
             #region 绗叓姝� 淇濆瓨Bimface鏂囦欢 锛堣繘搴� 50%锛�
 
-            feedBackMsg?.Invoke("姝e湪淇濆瓨Bimface鏂囦欢...");
+            feedBackMsg?.Invoke("姝e湪淇濆瓨Bimface鏂囦欢...", Color.Black);
 
-            var bimfaceFile = new Yw.Dto.AddBimfaceFileInput();
+            var bimfaceFile = new Yw.Vmo.BimfaceFileVmo();
             bimfaceFile.BimfaceId = bimfaceId.ToString();
             bimfaceFile.Name = vm.Name;
             bimfaceFile.ModelType = (int)Yw.Bimface.eModelType.File;
@@ -260,51 +335,50 @@
             bimfaceFile.FileSuffix = rvtFileInfo.Extension;
             bimfaceFile.FileSize = string.Format("{0}MB", System.Math.Ceiling(rvtFileInfo.Length / 1024.0 / 1024.0));
 
-            var bllBimfaceFile = new Yw.BLL.BimfaceFile();
-            var bimfaceFileId = await bllBimfaceFile.Insert(bimfaceFile);
+            var bimfaceFileId = await BLLFactory<Yw.BLL.BimfaceFile>.Instance.Insert(bimfaceFile);
             if (bimfaceFileId < 1)
             {
-                feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨澶辫触锛侊紒锛�");
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
                 return true;
             }
+
             vm.BimfaceFileID = bimfaceFileId;
-
-            feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨鎴愬姛銆傘�傘��");
-
+            feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨鎴愬姛銆傘�傘��", Color.Green);
             feedBackProgress?.Invoke(100, 50);
 
-            #endregion
+            #endregion 绗叓姝� 淇濆瓨Bimface鏂囦欢 锛堣繘搴� 50%锛�
 
             #region 绗節姝� 鍏宠仈Bimface鏂囦欢锛堣繘搴� 55%锛�
 
-            feedBackMsg?.Invoke("姝e湪鍏宠仈Bimface鏂囦欢...");
+            feedBackMsg?.Invoke("姝e湪鍏宠仈Bimface鏂囦欢...", Color.Black);
 
-            var bimfaceRelation = new Yw.Dto.AddBimfaceFileRelationInput();
+            var bimfaceRelation = new Yw.Vmo.BimfaceFileRelationVmo();
             bimfaceRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite;
             bimfaceRelation.ObjectID = projectSiteId;
             bimfaceRelation.BimfaceFileID = bimfaceFileId;
-            bimfaceRelation.Purpose = Yw.Bimface.Purpose.Simulation;
+            bimfaceRelation.Purpose = HStation.Xhs.Purpose.Simulation;
             bimfaceRelation.Description = vm.Description;
 
-            var bllBimfaceRelation = new Yw.BLL.BimfaceFileRelation();
-            var bimfaceRelationId = await bllBimfaceRelation.Insert(bimfaceRelation);
+            var bimfaceRelationId = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance.Insert(bimfaceRelation);
             if (bimfaceRelationId < 1)
             {
-                feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈澶辫触锛侊紒锛�");
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
                 return true;
             }
             vm.BimfaceFileRelationID = bimfaceRelationId;
-            feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈鎴愬姛銆傘�傘��");
+            feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈鎴愬姛銆傘�傘��", Color.Green);
             feedBackProgress?.Invoke(100, 55);
 
-            #endregion
+            #endregion 绗節姝� 鍏宠仈Bimface鏂囦欢锛堣繘搴� 55%锛�
 
-            #region 绗節姝� 鍙戣捣bimface杞崲锛堣繘搴� 80%锛�
+            #region 绗崄姝� 鍙戣捣bimface杞崲锛堣繘搴� 80%锛�
 
-            feedBackMsg?.Invoke("姝e湪杩涜Bimface妯″瀷杞婚噺鍖�...");
-            // var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);//鍙戣捣杞崲
+            feedBackMsg?.Invoke("姝e湪杩涜Bimface妯″瀷杞婚噺鍖�...", Color.Black);
+            //var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);//鍙戣捣杞崲
             var bimfaceTranslateStatus = Yw.BIMFace.eTranslateStatus.Processing;//娴嬭瘯浠g爜
             feedBackProgress?.Invoke(100, 60);
             if (bimfaceTranslateStatus != Yw.BIMFace.eTranslateStatus.Success)
@@ -314,66 +388,46 @@
                 {
                     await Yw.WinFrmUI.BimfaceHelper.WaitFileTranslateStatusUntilSuccess(bimfaceId, 3000);
                     vm.BimfaceConverted = true;
-                    feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��");
+                    feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��", Color.Green);
                 }
                 else
                 {
-                    feedBackMsg?.Invoke("璺宠繃Bimface妯″瀷杞婚噺鍖栫瓑寰呫�傘�傘��");
+                    feedBackMsg?.Invoke("璺宠繃Bimface妯″瀷杞婚噺鍖栫瓑寰呫�傘�傘��", Color.Black);
+                    feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                    feedBackProgress?.Invoke(100, 100);
+                    return true;
                 }
             }
             else
             {
                 vm.BimfaceConverted = true;
-                feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��");
+                feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��", Color.Green);
             }
 
             feedBackProgress?.Invoke(100, 80);
 
-            #endregion
+            #endregion 绗崄姝� 鍙戣捣bimface杞崲锛堣繘搴� 80%锛�
 
-            #region 绗崄姝� 鏇存柊Bimface鏂囦欢鐘舵�侊紙杩涘害 90%锛�
+            #region 绗崄涓�姝� 鏇存柊Bimface鏂囦欢鐘舵�侊紙杩涘害 100%锛�
 
-            feedBackMsg?.Invoke("姝e湪鏇存柊Bimface鏂囦欢鐘舵��...");
-            bol = await bllBimfaceFile.UpdateFileStatus(bimfaceFileId, (int)Yw.Bimface.eFileStatus.ConvertSucceed);
+            feedBackMsg?.Invoke("姝e湪鏇存柊Bimface鏂囦欢鐘舵��...", Color.Black);
+            bol = await BLLFactory<Yw.BLL.BimfaceFile>.Instance.UpdateFileStatus(bimfaceFileId, (int)Yw.Bimface.eFileStatus.ConvertSucceed);
             if (bol)
             {
-                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂版垚鍔熴�傘�傘��");
+                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂版垚鍔熴�傘�傘��", Color.Green);
             }
             else
             {
-                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂板け璐ワ紒锛侊紒");
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂板け璐ワ紒锛侊紒", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Black);
                 return true;
             }
 
-            feedBackProgress?.Invoke(100, 90);
-
-            #endregion
-
-            #region 绗崄涓�姝� 椤圭洰鍙戝竷锛堣繘搴� 100%锛�
-
-            feedBackMsg?.Invoke("姝e湪鍙戝竷椤圭洰...");
-            var bllXhsProject = new BLL.XhsProject();
-            bol = await bllXhsProject.Publish(projectId);
-            if (!bol)
-            {
-                feedBackMsg?.Invoke("椤圭洰鍙戝竷澶辫触...");
-            }
-            else
-            {
-                vm.IsPublished = true;
-                feedBackMsg?.Invoke("椤圭洰鍙戝竷鎴愬姛...");
-            }
-
             feedBackProgress?.Invoke(100, 100);
-            feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+            feedBackMsg?.Invoke("椤圭洰瀵煎叆瀹屾垚銆傘�傘��", Color.Green);
             return true;
-            #endregion
 
-
-
+            #endregion 绗崄涓�姝� 鏇存柊Bimface鏂囦欢鐘舵�侊紙杩涘害 100%锛�
         }
-
-
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3