private Dictionary <string, IFCObject> CombineIFC(List <IFCData> allIFCRow) { Dictionary <string, IFCObject> objDist = new Dictionary <string, IFCObject>(); foreach (IFCData data in FilerReplaceData(allIFCRow)) //foreach (IFCData data in allIFCRow) //無Replace { //try //{ BsonDocument obj = new BsonDocument { { "P21Id", data.P21Id }, { "EntityName", data.EntityName } }; //Get Schema List <string> schemaList = SchemaReader.GetAttributesList(data.EntityName); //處理IFC原始字串編碼轉換, 並排除字串中有逗號的錯誤 List <string> contentSplit = SplitProperty(CutStringWithComma(ConvertUnicodeStringToChinese(data.Properties))); for (int i = 0; i < contentSplit.Count; i++) { if (contentSplit[i] == "") //空字串 { obj.Add(schemaList[i], ""); continue; } if (contentSplit[i].Substring(0, 1) != "(") //非陣列可直接儲存 { obj.Add(schemaList[i], GetValue(contentSplit[i])); continue; } BsonArray arr1 = GetArray(contentSplit[i]); obj.Add(schemaList[i], GetArray(contentSplit[i])); } objDist.Add(data.P21Id, new IFCObject(obj)); //} //catch (Exception exp) //{ // ResultMessage += $"Has Error: {exp.Message}"; //} } return(objDist); }