|
@@ -9,11 +9,15 @@ using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using Autodesk.Revit.DB;
|
|
|
+using DevExpress.Xpf.Bars;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
+using SAGA.DotNetUtils;
|
|
|
using SAGA.DotNetUtils.Extend;
|
|
|
using SAGA.DotNetUtils.Logger;
|
|
|
using SAGA.MBI.Common;
|
|
|
using SAGA.MBI.JsonConvert;
|
|
|
using SAGA.MBI.Model;
|
|
|
+using SAGA.MBI.RequestData;
|
|
|
using SAGA.MBI.Tools;
|
|
|
using SAGA.RevitUtils.Extends;
|
|
|
|
|
@@ -69,6 +73,49 @@ namespace SAGA.MBI.DataArrange
|
|
|
return mode;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 批量更新Infos
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="datas"></param>
|
|
|
+ public static void BatchUpdate(IEnumerable<MRevitEquipBase> datas)
|
|
|
+ {
|
|
|
+ var addJArray = new JArray();
|
|
|
+ var delJArray = new JArray();
|
|
|
+ var updateJArray = new JArray();
|
|
|
+ foreach (MRevitEquipBase mode in datas)
|
|
|
+ {
|
|
|
+ switch (mode.Operator)
|
|
|
+ {
|
|
|
+ case DocumentChangedOperator.Add:
|
|
|
+ JObject addJObject = new JObject();
|
|
|
+ addJObject.Add("floor_id", mode.FloorId);
|
|
|
+ addJObject.Add("building_id", DalProjectTree.GetBuildingIdByFloor(mode.FloorId));
|
|
|
+ addJObject.Add("equipment_category", mode.EquipClassCode);
|
|
|
+ addJObject.Add("infos", mode.GetInfosJObject());
|
|
|
+ addJArray.Add(addJObject);
|
|
|
+ break;
|
|
|
+ case DocumentChangedOperator.Delete:
|
|
|
+ JObject delJObject=new JObject();
|
|
|
+ delJObject.Add("id",mode.Id);
|
|
|
+ delJArray.Add(delJObject);
|
|
|
+ break;
|
|
|
+ case DocumentChangedOperator.Modified:
|
|
|
+ JObject criteria = CommonConvert.GetUpdateInfosJObject(mode.Id, mode.GetInfosJObject());
|
|
|
+ updateJArray.Add(criteria);
|
|
|
+ break;
|
|
|
+ case DocumentChangedOperator.None:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ mode.AddorUpdateObject();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (addJArray.Count > 0)
|
|
|
+ EquipmentRequest.BatchAdd(addJArray);
|
|
|
+ if (delJArray.Count > 0)
|
|
|
+ EquipmentRequest.BatchDel(delJArray);
|
|
|
+ if (updateJArray.Count > 0)
|
|
|
+ CommonRequest.BatchUpdate(updateJArray);
|
|
|
+ }
|
|
|
}
|
|
|
}
|