/* ==============================================================================
* 功能描述: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
{
///
/// MRevitEquipBaseExtend
///
public static class MRevitEquipBaseExtend
{
///
/// Null或者是未能认识的设备类型
///
///
///
public static bool IsNullOrDefaultEquip(this MRevitEquipBase mode)
{
return mode == null || mode is MRevitEquipBaseNull;
}
///
/// 通过Duty,Bim关系数据获取没有上传但关联岗位的数据
///
///
///
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;
}
///
/// 岗位对应有模型
/// 模型中DutyId的属性包含有岗位id
///
///
///
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;
}
///
/// 岗位对应有模型
/// 模型中DutyId的属性包含有岗位id
///
///
///
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;
}
///
/// 保存模型和岗位的关系
///
///
///
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;
}
///
/// 删除指定BIMID的关系
///
///
///
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;
}
}
}