/// <summary> /// Main code activity method /// </summary> /// <param name="executionContext">Standard execution context</param> /// <param name="crmWorkflowContext">Standard workflow context</param> public override void ExecuteCRMWorkFlowActivity(CodeActivityContext executionContext, LocalWorkflowContext crmWorkflowContext) { if (crmWorkflowContext == null) { throw new ArgumentNullException(nameof(crmWorkflowContext)); } TracingService = executionContext.GetExtension <ITracingService>(); Service = crmWorkflowContext.OrganizationService; // 1. Validation EntityReference applicatEntityReference = this.Application.Get(executionContext); if (applicatEntityReference == null) { TracingService.Trace("Application parameter not set."); return; } TracingService.Trace("Refreshing Answers for Application {0} ", applicatEntityReference.Id); // 2. Processing - add and remove application answers as dictated by the application lines DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(this.Service, this.TracingService); dal.RefreshApplicationAnswers(applicatEntityReference.Id); TracingService.Trace("Done refreshing Answers for Application {0} ", applicatEntityReference.Id); }
public void Integration_RefreshApplicationAnswers_Success() { Entity application = DataAccessIntegrationTestSupport.CreateApplication(OrganizationService); DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(OrganizationService, new MockTracingService()); dal.RefreshApplicationAnswers(application.Id); }
public void Integration_GetApplicationAnswers_Success() { Entity application = DataAccessIntegrationTestSupport.CreateApplication(OrganizationService); DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(OrganizationService, new MockTracingService()); var result = dal.GetApplicationAnswers(application.Id); Assert.IsTrue(result == null); }
/// <summary> /// Main Execution Method /// </summary> /// <param name="executionContext">Activity Execution Context</param> /// <param name="crmWorkflowContext">Includes organisation service and trace service</param> public override void ExecuteCRMWorkFlowActivity(CodeActivityContext executionContext, LocalWorkflowContext crmWorkflowContext) { // 1. Validation if (crmWorkflowContext == null) { throw new ArgumentNullException(nameof(crmWorkflowContext)); } // 2. Processing DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(crmWorkflowContext.OrganizationService, executionContext.GetExtension<ITracingService>()); Guid answerId = dal.SetApplicationAnswer( QuestionCode.Get<string>(executionContext), AnswerOptionCode.Get<string>(executionContext), AnswerOptionText.Get<string>(executionContext), AnswerApplication.Get<EntityReference>(executionContext), AnswerApplicationLine.Get<EntityReference>(executionContext), true); // 3. Return ApplicationAnswer.Set(executionContext, new EntityReference(defra_applicationanswer.EntityLogicalName, answerId)); }
public void Integration_TestSetApplicationAnswerSuccess() { Entity application = DataAccessIntegrationTestSupport.CreateApplication(OrganizationService); DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(OrganizationService, new MockTracingService()); // Create Guid answedId1 = dal.SetApplicationAnswer("test-question-1", "answer-1", "", application.ToEntityReference(), null, true); // Update Guid answedId2 = dal.SetApplicationAnswer("test-question-1", "answer-2", "", application.ToEntityReference(), null, true); // Create Guid answedId3 = dal.SetApplicationAnswer("test-question-2", "answer-3", "", application.ToEntityReference(), null, true); // Update Guid answedId4 = dal.SetApplicationAnswer("test-question-2", "answer-4", "Answer Text", application.ToEntityReference(), null, true); Assert.IsTrue(answedId1 != Guid.Empty); Assert.IsTrue(answedId2 != Guid.Empty); Assert.IsTrue(answedId3 != Guid.Empty); Assert.IsTrue(answedId4 != Guid.Empty); }
public void Integration_RefreshApplicationAnswers_DummyDataTest() { DataAccessApplicationAnswers dal = new DataAccessApplicationAnswers(OrganizationService, new MockTracingService()); dal.RefreshApplicationAnswers(new Guid("4ffa909e-84fc-e811-a983-000d3ab3984f")); }