Exemplo n.º 1
0
        public async Task <SubmissionResponse> Handle(Graph <Key, FormNode> graph, string referenceNumber,
                                                      InFlightPage consentPage)
        {
            var taskGroupAnswers = _summaryService.GetFormSummary(graph, FormType);

            var recipientEmail = graph.Nodes
                                 .FindByKey(Key.ForTaskItemPage("personal-details-task", "contact-email", new[] { 0 }))
                                 .AssertType <TaskQuestionPageFormNode>().Questions.First(x => x.Id == "question1");

            await _emailService.SendAFCSEmail(new AfcsEmailContent
            {
                ReferenceNumber        = referenceNumber,
                PersonalDetails        = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["personal-details-task"]),
                ServiceDetails         = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["service-details-task"]),
                ClaimDetails           = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["claims-details-task"]),
                OtherCompensation      = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["other-compensation-task"]),
                OtherBenefits          = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["about-benefits-task"]),
                PaymentDetails         = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["payment-details-task"]),
                NominateRepresentative = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["nominate-representative-task"]),
                WelfareAgentDetails    = TaskGroupingExtensions.BuildFormString(taskGroupAnswers["declarations-task"]),
                ConsentDeclaration     = consentPage.Questions.First(x => x.Id == "question1").Answer.AnswerAsString
            });

            await _emailService.SendAFCSUserEmail(recipientEmail.Answer.AnswerAsString, new UserEmailContent
            {
                ReferenceNumber = referenceNumber
            });

            return(new SubmissionResponse
            {
                Reference = referenceNumber
            });
        }
        public async Task <SubmissionResponse> Handle(Graph <Key, FormNode> graph, string referenceNumber,
                                                      InFlightPage consentPage)
        {
            var taskGroup = _summaryService.GetFormSummary(graph, FormType);

            var userEmailAddress = graph.Nodes
                                   .First(x => x.IsTaskQuestionPageNode(out var taskQuestionPageFormNode) &&
                                          taskQuestionPageFormNode.PageId == "contact-email").AssertType <TaskQuestionPageFormNode>()
                                   .Questions.First(x => x.Id == "question1").Answer.AnswerAsString;

            await _emailService.SendAFIPEmail(new AfipEmailContent
            {
                ReferenceNumber        = referenceNumber,
                FormContent            = TaskGroupingExtensions.BuildFormString(taskGroup["afip-form"]),
                ConsentCorrespondEmail = consentPage.Questions.First(x => x.Id == "question1").Answer.AnswerAsString,
                ConsentDwpBenefits     = consentPage.Questions.First(x => x.Id == "question2").Answer.AnswerAsString
            });

            await _emailService.SendAFIPUserEmail(userEmailAddress, new UserEmailContent
            {
                ReferenceNumber = referenceNumber
            });

            return(new SubmissionResponse
            {
                Reference = referenceNumber,
            });
        }