Beispiel #1
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            //Create the tracing service
            ITracingService tracingService = executionContext.GetExtension <ITracingService>();

            //Create the context
            IWorkflowContext            context        = executionContext.GetExtension <IWorkflowContext>();
            IOrganizationServiceFactory serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>();
            IOrganizationService        service        = serviceFactory.CreateOrganizationService(context.UserId);

            tracingService.Trace("Iniciando workflow");


            if (context == null)
            {
                throw new InvalidPluginExecutionException("Failed to retrieve workflow context.");
            }

            //Save off the values
            PrimaryEntityId.Set(executionContext, context.PrimaryEntityId.ToString());

            if (context.RequestId.HasValue)
            {
                RequestId.Set(executionContext, context.RequestId.Value.ToString());
            }

            PrimaryEntityName.Set(executionContext, context.PrimaryEntityName);
            SecondaryEntityName.Set(executionContext, context.SecondaryEntityName);
            CorrelationId.Set(executionContext, context.CorrelationId.ToString());
            InitiatingUserId.Set(executionContext, context.InitiatingUserId.ToString());
            OperationId.Set(executionContext, context.OperationId.ToString());

            Guid guid = new Guid(PrimaryEntityId.Get <string>(executionContext));

            Entity entitlement = service.Retrieve("entitlement", new Guid(PrimaryEntityId.Get <string>(executionContext)), new ColumnSet(new String[] { "name", "statecode", "statuscode", "startdate" }));

            entitlement["statecode"]  = new OptionSetValue(1);
            entitlement["statuscode"] = new OptionSetValue(1);

            service.Update(entitlement);
        }