Exemplo n.º 1
0
 private IEnumerable <TargetedEntityMetadata> AggregatePickListWithEntityMetaData(PickListMetaElement pickListData, RetrieveMetadataChangesResponse retrieveMetadataChangesResponse)
 {
     return(from pickListItem in pickListData.Items
            join entityMetadata in retrieveMetadataChangesResponse.EntityMetadata on pickListItem.PickListItemId equals entityMetadata.ObjectTypeCode.Value
            select new TargetedEntityMetadata(entityMetadata.LogicalName, pickListItem.DisplayLabel, entityMetadata.ObjectTypeCode.Value));
 }
Exemplo n.º 2
0
        private async Task <IEnumerable <TargetedEntityMetadata> > GetEntityMetadataByTypeCode(PickListMetaElement pickListData, int[] objectTypeCodes)
        {
            EntityQueryExpression entityQueryExpression = new EntityQueryExpression();

            entityQueryExpression.Criteria.Conditions.Add(new MetadataConditionExpression("ObjectTypeCode", MetadataConditionOperator.In, objectTypeCodes));
            entityQueryExpression.Properties = new MetadataPropertiesExpression("LogicalName", "ObjectTypeCode");

            RetrieveMetadataChangesRequest retrieveMetadataChangesRequest = new RetrieveMetadataChangesRequest
            {
                Query = entityQueryExpression,
                ClientVersionStamp     = null,
                DeletedMetadataFilters = DeletedMetadataFilters.Default
            };

            var retrieveMetadataChangesResponse = await Task.Run(() => (RetrieveMetadataChangesResponse)crmServiceClient.Execute(retrieveMetadataChangesRequest));

            return(AggregatePickListWithEntityMetaData(pickListData, retrieveMetadataChangesResponse));
        }