/*-------------------------------------------------------------------------
 * 功能描述：BimJsonUtil
 * 作者：xulisong
 * 创建时间： 2019/6/18 11:23:16
 * 版本号：v1.0
 *  -------------------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JBIM;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

namespace RevitToJBim.JsonConverter
{
    public static class BimJsonUtil
    {
        public static string Serializer(BimDocument document)
        {
            JsonSerializerSettings jsetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
            jsetting.Converters.Add(new BimIdConverter());
            jsetting.Converters.Add(new XYZConverter());
            jsetting.Converters.Add(new StringEnumConverter());
            //var serializer = JsonSerializer.Create(jsetting);
            //JObject jobject = new JObject();
            //foreach (var collection in m_DataSource)
            //{
            //    jobject.Add(collection.Key, JArray.FromObject(collection.Value, serializer));
            //}
            //var settings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
            string dataStr = JsonConvert.SerializeObject(document.BimObjects, jsetting);
            return dataStr;
        }
    }
}
