Browse Source

xls:输出文件格式整理

xulisong 5 years ago
parent
commit
a4db34d1de
1 changed files with 38 additions and 4 deletions
  1. 38 4
      JBIM/RevitToJBim/JsonConverter/BimJsonUtil.cs

+ 38 - 4
JBIM/RevitToJBim/JsonConverter/BimJsonUtil.cs

@@ -21,23 +21,57 @@ namespace RevitToJBim.JsonConverter
     {
         public static string Serializer(BimDocument document)
         {
+            JsonSerializerSettings jsetting = CreateDefaultSettings();
+            var bimObjects = document.BimObjects;
+            var group = bimObjects.GroupBy(bim => bim.ElementType);
+            Dictionary<string, List<BimObject>> dic = new Dictionary<string, List<BimObject>>();
+            foreach (var collection in group)
+            {
+                dic[collection.Key + "s"] = collection.ToList();
+            }
+
+            var documentObject = new {MBIName = "PjXXX_001", PlanName = "F1-saga", Elements = dic};
+            //var serializer = JsonSerializer.Create(jsetting);
+            //var jobject=JObject.FromObject(dic, serializer);
+            //jobject.ToString();
+            string dataStr =JsonConvert.SerializeObject(documentObject, jsetting);
+            return dataStr;
+        }
+
+        private static JsonSerializerSettings CreateDefaultSettings()
+        {
             JsonSerializerSettings jsetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
             jsetting.Converters.Add(new BimIdConverter());
             //mxg 显示x:,y:,z:格式的
             //jsetting.Converters.Add(new XYZConverter());
             jsetting.Converters.Add(new StringEnumConverter());
             jsetting.Converters.Add(new ParameterConverter());
+            return jsetting;
+        }
+        private static DocumentDto ConverToDto(BimDocument document)
+        {
+            DocumentDto dto = new DocumentDto();
             var bimObjects = document.BimObjects;
             var group = bimObjects.GroupBy(bim => bim.ElementType);
             Dictionary<string, List<BimObject>> dic = new Dictionary<string, List<BimObject>>();
             foreach (var collection in group)
             {
                 dic[collection.Key + "s"] = collection.ToList();
-                //jobject.Add(collection.Key, JArray.FromObject(collection.Value, serializer));
             }
-            //var settings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
-            string dataStr = JsonConvert.SerializeObject(dic, jsetting);
-            return dataStr;
+
+            dto.MBIName = "PjXXX_001";//待读取
+            dto.PlanName = "F1-saga";
+            dto.Elements = dic;
+            return dto;
         }
     }
+    /// <summary>
+    /// 项目传输数据结构
+    /// </summary>
+    public class DocumentDto
+    {
+        public string MBIName { get; set; }
+        public string PlanName { get; set; }
+        public Dictionary<string, List<BimObject>> Elements { get; set; }
+    }
 }