public SearchRequestDto FilterAssetByHlagLocation(AssociationPreFilterFunctionParameters parameters) { var searchDTO = parameters.BASEDto; var fromLocation = parameters.OriginalEntity.GetAttribute("fromlocation") as String; var schema = parameters.Metadata.Schema.SchemaId; var target = parameters.Relationship.Target; var childAsset = parameters.Relationship.Target.Contains("child"); var isNew = target.Contains("new"); AppendLocationCondition(searchDTO, fromLocation, schema, childAsset, isNew, parameters.Metadata); searchDTO.AppendSearchEntry("status", ImacAssetHelper.GetImacStatusToSearch(schema, childAsset, isNew)); searchDTO.AppendWhereClause(AppendClassificationCondition(schema, childAsset)); return(searchDTO); }
public SortedSet <IAssociationOption> GetAvailableImacsFromAsset(DataMap asset) { var toFilter = ImacAssetHelper.GetImacOptionsFromStatus((string)asset.GetAttribute(AssetConstants.StatusColumn)); var classstructure = (string)asset.GetAttribute(AssetConstants.ClassStructureIdColumn); var assetStatus = (string)asset.GetAttribute(AssetConstants.StatusColumn); var fromClassStructure = ImacAssetHelper.GetImacOptionsFromClassStructure(classstructure); if (AssetConstants.Idle.Equals(assetStatus) && IsStdAsset(classstructure)) { //HAP-683 constraint toFilter.Add(ImacConstants.Replace); } toFilter.UnionWith(fromClassStructure); return(new SortedSet <IAssociationOption>(ImacConstants.DefaultTemplateOptions.Where(w => toFilter.All(a => a != w.Value)))); }