Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 46379

Plugin is not getting triggered when creating automatic Case but it works when debugged manually !!

$
0
0

Hello Everyone,

Please help what I 'm doing wrong over here, the code works while debugging however it's not getting triggered on automatic record creation, I have registered this plugin as "Create", "PostOperation", "Synch".

ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService crmService = serviceFactory.CreateOrganizationService(context.UserId);

tracingService.Trace("{0}: Begin", tracePrefix);

Entity targetEntity = (Entity)context.InputParameters["Target"];
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
if (context.MessageName == "Create")
{

Entity postImageEntity = (Entity)context.PostEntityImages[POST_IMAGE_ALIAS];

var programEnrollmentService = new ProgramEnrollmentService(crmService, tracingService);
Guid? accountOnPostedSurvey = null;

if (postImageEntity.Contains(CrmMetadata.Test.Account))
{
accountOnPostedSurvey = postImageEntity.GetAttributeValue<EntityReference>(CrmMetadata.Test.Account).Id;
}

Guid? contactId = null;
if (postImageEntity.Contains(CrmMetadata.Test.Contact))
{
contactId = postImageEntity.GetAttributeValue<EntityReference>(CrmMetadata.Test.Contact).Id;
}
programEnrollmentService.UpdateAAEnrollmentDetails(targetEntity.Id, contactId, accountOnPostedSurvey);

var TestEntity = new Entity(CrmMetadata.Test.LogicalName);
TestEntity.Id = TestRecordId;

if (accountId.HasValue)
{
var _enrQuery = new QueryExpression("Test");

// Query expression code written --> Assume

EntityCollection enrollCollection = _crmService.RetrieveMultiple(_enrQuery);

if (enrollCollection.Entities.Count > 0)
{

foreach (Entity act in enrollCollection.Entities)
{
Guid? progromEnrollId = ((Microsoft.CECRM.Comm.Crm.Test)act).TestId;
var EnrollmentStatus = ((Microsoft.CECRM.Comm.Crm.Test)act).EE_EnrollmentStatus.Value;
TestEntity[CrmMetadata.Test.AAProgramEnrollmentName] = new EntityReference(CrmMetadata.ProgramEnrollment.LogicalName, (Guid)progromEnrollId);
TestEntity[CrmMetadata.Test.AAProgramEnrollmentStatus] = new OptionSetValue((int)EnrollmentStatus);
}
_crmService.Update(TestEntity);
}


Viewing all articles
Browse latest Browse all 46379

Trending Articles



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