protected override void Execute(CodeActivityContext eContext)
        {
            var context = eContext.GetExtension <IWorkflowContext>();

            var target = new EntityReference(context.PrimaryEntityName, context.PrimaryEntityId);

            EntityName.Set(eContext, target.LogicalName);
            EntityId.Set(eContext, target.Id.ToString());
            CompressedId.Set(eContext, Utilities.CompressGuid(target.Id));
        }
Exemplo n.º 2
0
        protected override void Execute(Context context)
        {
            var urlString = UrlString.Get(context);

            if (string.IsNullOrWhiteSpace(urlString))
            {
                return;
            }
            var urlParts   = urlString.Split('?');
            var parameters = HttpUtility.ParseQueryString(urlParts[1]);

            var entityTypeCode = int.Parse(parameters["etc"]);

            EntityCode.Set(context, entityTypeCode);
            IdString.Set(context, parameters["id"]);


            var retrieveMetadataChangesRequest = new RetrieveMetadataChangesRequest
            {
                Query = new EntityQueryExpression
                {
                    Criteria = new MetadataFilterExpression(LogicalOperator.And)
                    {
                        Conditions = { new MetadataConditionExpression("ObjectTypeCode", MetadataConditionOperator.Equals, entityTypeCode) }
                    },
                    Properties = new MetadataPropertiesExpression {
                        AllProperties = false, PropertyNames = { "LogicalName" }
                    }
                }
            };
            var response = (RetrieveMetadataChangesResponse)context.SystemService.Execute(retrieveMetadataChangesRequest);

            if (response.EntityMetadata.Count == 1)
            {
                EntityName.Set(context, response.EntityMetadata[0].LogicalName);
            }
        }