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. "); }
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); }