From d2cee56db11f0ee475e9f9dbdc8bfd03ad982e18 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期一, 12 八月 2024 09:42:01 +0800
Subject: [PATCH] 报错

---
 WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs
index 24f3492..67ab899 100644
--- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs
@@ -21,15 +21,16 @@
         /// 涓婁紶鏂囦欢
         /// </summary>
         /// <param name="fullFilePath">鏂囦欢鍏ㄨ矾寰�</param>
+        /// <param name="fileName">鏂囦欢鍚嶇О</param>
         /// <returns>BimfaceId</returns>
-        public static async Task<long> UploadFile(string fullFilePath)
+        public static async Task<long> UploadFile(string fullFilePath, string fileName = null)
         {
             if (!File.Exists(fullFilePath))
             {
                 return default;
             }
             var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
-            var bimfaceId = await bimfaceClient.UploadFileExByPolicy(fullFilePath);
+            var bimfaceId = await bimfaceClient.UploadFileExByPolicy(fullFilePath, fileName);
             return bimfaceId;
         }
 
@@ -43,6 +44,19 @@
         {
             var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
             var fileStatus = await bimfaceClient.TranslateRvtFileReturnStatus(bimfaceId.ToString(), translateStyle);
+            return fileStatus;
+        }
+
+        /// <summary>
+        /// 杞崲rvt鏂囦欢
+        /// </summary>
+        /// <param name="bimfaceId">bimfaceId</param>
+        /// <param name="translateStyle">杞崲鏍峰紡</param>
+        /// <returns>杞崲鐘舵��</returns>
+        public static async Task<eTranslateStatus> TranslateRvtFile(string bimfaceId, eRvtTranslateStyle translateStyle = eRvtTranslateStyle.Real)
+        {
+            var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
+            var fileStatus = await bimfaceClient.TranslateRvtFileReturnStatus(bimfaceId, translateStyle);
             return fileStatus;
         }
 
@@ -81,7 +95,52 @@
             }
         }
 
+        /// <summary>
+        /// 绛夊緟鏂囦欢杞崲鐘舵�佺洿鍒版垚鍔�
+        /// </summary>
+        /// <param name="bimfaceId">bimfaceId</param>
+        /// <param name="polling">杞姣</param>
+        /// <returns></returns>
+        public static async Task WaitFileTranslateStatusUntilSuccess(string bimfaceId, int polling)
+        {
+            var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
+            var fileStatus = await bimfaceClient.GetFileTranslateStatusReturnStatus(bimfaceId);
+            if (fileStatus == eTranslateStatus.Processing)
+            {
+                await Task.Run(async () =>
+                {
+                    while (fileStatus == eTranslateStatus.Processing)
+                    {
+                        Thread.Sleep(polling);
+                        fileStatus = await bimfaceClient.GetFileTranslateStatusReturnStatus(bimfaceId);
+                    }
+                });
+            }
+        }
 
+        /// <summary>
+        /// 鍒犻櫎
+        /// </summary>
+        /// <param name="bimfaceId">bimfaceId</param>
+        /// <param name="modelIdType">妯″瀷绫诲瀷</param>
+        /// <returns></returns>
+        public static async Task<bool> Delete(long bimfaceId, Yw.BIMFace.eModelIdType modelIdType = eModelIdType.fileId)
+        {
+            var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
+            return await bimfaceClient.Delete(bimfaceId.ToString(), modelIdType);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎
+        /// </summary>
+        /// <param name="bimfaceId">bimfaceId</param>
+        /// <param name="modelIdType">妯″瀷绫诲瀷</param>
+        /// <returns></returns>
+        public static async Task<bool> Delete(string bimfaceId, Yw.BIMFace.eModelIdType modelIdType = eModelIdType.fileId)
+        {
+            var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret);
+            return await bimfaceClient.Delete(bimfaceId, modelIdType);
+        }
 
     }
 }

--
Gitblit v1.9.3