Beispiel #1
0
        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);
        }
        /// <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));
        }