Esempio n. 1
0
        public async Task <IActionResult> Index()
        {
            if (!_portalSetting.Features.EnableOpenWrks)
            {
                return(NotFound());
            }

            var caseflowUserId = GetCaseflowUserId();


            var lowellReference = ApplicationSessionState.GetTopLowellReference();

            if (!string.IsNullOrWhiteSpace(caseflowUserId) && !string.IsNullOrWhiteSpace(lowellReference))
            {
                var newInvitationRequest = new OpenWrksInvitationRequest
                {
                    CustomerReference     = GenerateOpenWrksCustomerReference(),
                    JourneyEndRedirectUrl =
                        $"{Request.Scheme}://{Request.Host}{Request.PathBase}/OpenWrks/BudgetComplete"
                };

                var result = await _openWrkService.SendInvitationRequest(newInvitationRequest);

                await _webActivityService.LogOpenBankingAccessed(lowellReference, caseflowUserId);

                return(Redirect(result.BudgetUrl));
            }

            throw new Exception(
                      "Failed to get Invitation Link. User must log on to use OpenWorks Budget Calculator. ");
        }
Esempio n. 2
0
        public async Task <OpenWrksInvitationResponse> SendInvitationRequest(OpenWrksInvitationRequest request)
        {
            _logger.LogInformation("Requesting Invitation Link to OpenWrks.");

            var uri = $"{_openWrksSetting.ApiEndpoint}/v1/invite";

            _logger.LogDebug("Retrieving invitation link from OpenWrks");

            var response = await _restClient.PostAsync <OpenWrksInvitationRequest, OpenWrksInvitationResponse>(uri, request);

            _logger.LogInformation("Invitation link was returned successfully.");

            return(response);
        }