/// <summary> /// Gets real asset types which should live in the same project stage as this assembly /// </summary> /// <param name="stage">Project stage where this assembly lives alongside with asset types it aggregates.</param> /// <returns>Enumeration of aggregated asset types</returns> public IEnumerable <AssetType> GetAggregationOfAssetTypes(ProjectStage stage) { if (stage.AssetTypes == null || AggregationOfAssetTypes == null) { return(new AssetType[0]); } return(stage.AssetTypes.Where(at => AggregationOfAssetTypes.Contains(at.Id))); }
/// <summary> /// Constructs new exchanger. When converting data from DPoW to COBieLite it is possible to convert only one stage to COBieLite /// as there is no concept of project stages in COBieLite schema which is more focused on exchange of actual existing data at certain /// project stage rather than modelling multiple stages. /// </summary> /// <param name="source">Source DPoW model</param> /// <param name="target">Target COBieLite model</param> /// <param name="stage">Specific project stage</param> public DPoWToCOBieLiteUKExchanger(PlanOfWork source, FacilityType target, Xbim.DPoW.ProjectStage stage) : base(source, target) { Context = stage; }
/// <summary> /// Gets real asset types which should live in the same project stage as this assembly /// </summary> /// <param name="stage">Project stage where this assembly lives alongside with asset types it aggregates.</param> /// <returns>Enumeration of aggregated asset types</returns> public IEnumerable<AssetType> GetAggregationOfAssetTypes(ProjectStage stage) { if (stage.AssetTypes == null || AggregationOfAssetTypes == null) return new AssetType[0]; return stage.AssetTypes.Where(at => AggregationOfAssetTypes.Contains(at.Id)); }