123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- /* ==============================================================================
- * 功能描述:MRevitEquipBaseExtend
- * 创 建 者:Garrett
- * 创建日期:2018/8/22 9:20:16
- * ==============================================================================*/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Autodesk.Revit.DB;
- using DevExpress.Xpf.Bars;
- using SAGA.DotNetUtils;
- using SAGA.DotNetUtils.DB;
- using SAGA.MBI.Common;
- using SAGA.MBI.DataArrange;
- using SAGA.MBI.Model;
- using SAGA.MBI.RequestData;
- using SAGA.MBI.Tools;
- using SAGA.MBIAssistData.Model;
- using SAGA.RevitUtils.Extends;
- namespace SAGA.MBI.Extend
- {
- /// <summary>
- /// MRevitEquipBaseExtend
- /// </summary>
- public static class MRevitEquipBaseExtend
- {
- /// <summary>
- /// Null或者是未能认识的设备类型
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static bool IsNullOrDefaultEquip(this MRevitEquipBase mode)
- {
- return mode == null || mode is MRevitEquipBaseNull;
- }
- /// <summary>
- /// 通过Duty,Bim关系数据获取没有上传但关联岗位的数据
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static MRevitEquipBase QueryEquipByBIMRelation(this MRevitEquipBase mode)
- {
- if (mode?.Id != null)
- {
- mode.HasUpload = true;
- return mode;
- }
- string dutyid = mode.GetDutyBIMRelationByBIM()?.DutyId;
- if (dutyid.IsNotNullEmpty())
- {
- var rltmode = CommonConvert.QueryObjectById(dutyid);
- if (!rltmode.IsNullOrDefaultEquip())
- {
- //之前要求没有上传模型的岗位信息只能看不能编辑,现在改为都可以编辑
- //rltmode.HasUpload = false;
- rltmode.HasUpload = true;
- rltmode.BimID = mode?.BimID;
- return rltmode;
- }
- }
- return mode;
- }
- /// <summary>
- /// 岗位对应有模型
- /// 模型中DutyId的属性包含有岗位id
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static DutyBIMRelation GetDutyBIMRelationByBIM(this MRevitEquipBase mode)
- {
- var dutybimMode = new DutyBIMRelation();
- dutybimMode.BIMId = mode.BimID.GetBIMID().ToString();
- dutybimMode.FloorId = mode.FloorId;
- MBIAssistHelper.SetDBPath();
- var resultMode = MBIAssistData.BLL.DutyBIMRelation.Instance.GetModel(dutybimMode);
- return resultMode;
- }
- /// <summary>
- /// 岗位对应有模型
- /// 模型中DutyId的属性包含有岗位id
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static DutyBIMRelation GetDutyBIMRelationByDuty (this MRevitEquipBase mode)
- {
- var dutybimMode = new DutyBIMRelation();
- dutybimMode.DutyId = mode.Id;
- MBIAssistHelper.SetDBPath();
- var resultMode = MBIAssistData.BLL.DutyBIMRelation.Instance.GetModel(dutybimMode);
- return resultMode;
- }
- /// <summary>
- /// 保存模型和岗位的关系
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static bool SaveDutyBIMRelation(this MRevitEquipBase mode,string floorId,string bimid)
- {
- var dutybimMode = new DutyBIMRelation();
- dutybimMode.DutyId = mode.Id;
- dutybimMode.FloorId = floorId;
- dutybimMode.BIMId = bimid;
- MBIAssistHelper.SetDBPath();
- var result = MBIAssistData.BLL.DutyBIMRelation.Instance.Add(dutybimMode);
- return result;
- }
- /// <summary>
- /// 删除指定BIMID的关系
- /// </summary>
- /// <param name="mode"></param>
- /// <returns></returns>
- public static bool DeleteDutyBIMRelation(this MRevitEquipBase mode, string bimid)
- {
- var dutybimMode = new DutyBIMRelation();
- dutybimMode.FloorId = mode.FloorId;
- dutybimMode.BIMId = bimid;
- MBIAssistHelper.SetDBPath();
- var result = MBIAssistData.BLL.DutyBIMRelation.Instance.Delete(dutybimMode);
- return result;
- }
- }
- }
|