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, }); }