Quantcast
Channel: Forum CRM Development
Viewing all articles
Browse latest Browse all 1000

Custom Workflow: Entity mainEntity = (Entity)context.Context.InputParameters[WorkflowCommon.TARGET]

$
0
0

Dear Reader,

i have a Problem with executing a workflow on demand : WorkflowCommon.TARGET is not present in the dictionary

InputParameters.

If i use the workflow triggered by create, fields changed, etc.it works great.

The Code:

public override void Process(WorkflowContext context)

{

Entity mainEntity = (Entity)context.Context.InputParameters[WorkflowCommon.TARGET];

String entityRelationshipName = Relationship.Get<String>(context.ExecutionContext);

Entity subEntity;

String subEntityFieldName;

 RetrieveRelationship(context.Service, entityRelationshipName, mainEntity, out subEntity, out subEntityFieldName);

EntityCollection subEntities = RetrieveSubEntities(context.Service, mainEntity, subEntity, subEntityFieldName);

Count.Set(context.ExecutionContext, subEntities.Entities.Count());

}


AND:

public WorkflowContext(CodeActivityContext executionContext, String activityName)



{



ExecutionContext = executionContext;



ActivityName = activityName;



LogFactory = new ChannelFactory<IAssLogConnection>(new BasicHttpBinding(), new EndpointAddress(WorkflowCommon.LOG_ENDPOINT_ADDRESS));



if (LogFactory == null) throw new InvalidPluginExecutionException(ErrorMessage.FAILED_TO_RETRIEVE_LOG_CONNECTION_SERVICE);



LogConnectionService = LogFactory.CreateChannel();



if (LogConnectionService == null) throw new InvalidPluginExecutionException(ErrorMessage.FAILED_TO_RETRIEVE_LOG_CONNECTION_SERVICE);



if (ExecutionContext == null) throw new InvalidPluginExecutionException(ErrorMessage.FAILED_TO_RETRIEVE_EXECUTION_CONTEXT);



 TracingService = ExecutionContext.GetExtension<ITracingService>();



if (TracingService == null) throw new InvalidPluginExecutionException(ErrorMessage.FAILED_TO_RETRIEVE_TRACING_SERVICE);



 TracingService.Trace(ErrorMessage.ENTERED_EXECUTE_FORMAT_3,



ActivityName,



ExecutionContext.ActivityInstanceId,



ExecutionContext.WorkflowInstanceId);



 Context = ExecutionContext.GetExtension<IWorkflowContext>();



if (Context == null) throw new InvalidPluginExecutionException(ErrorMessage.FAILED_TO_RETRIEVE_WORKFLOW_CONTEXT);



 TracingService.Trace(ErrorMessage.INITIATING_USER_FORMAT_3,



ActivityName,



Context.CorrelationId,



Context.InitiatingUserId);



 ServiceFactory = ExecutionContext.GetExtension<IOrganizationServiceFactory>();



Service = ServiceFactory.CreateOrganizationService(Context.UserId);



}


Does anyone know, why?


Viewing all articles
Browse latest Browse all 1000

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>