public async Task <List <SupportActivityDetail> > GetRegistrationFormSupportActivities(RegistrationFormVariant registrationFormVariant, CancellationToken cancellationToken) { GetRegistrationFormSupportActivitiesRequest request = new GetRegistrationFormSupportActivitiesRequest() { RegistrationFormVariantRequest = new RegistrationFormVariantRequest() { RegistrationFormVariant = registrationFormVariant } }; string path = $"api/GetRegistrationFormSupportActivities"; var jsonContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); using (HttpResponseMessage response = await _httpClientWrapper.PostAsync(HttpClientConfigName.GroupService, path, jsonContent, cancellationToken).ConfigureAwait(false)) { string jsonResponse = await response.Content.ReadAsStringAsync(); var emailSentResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, CommunicationServiceErrorCode> >(jsonResponse); if (emailSentResponse.HasContent && emailSentResponse.IsSuccessful) { return(emailSentResponse.Content.SupportActivityDetails); } else { throw new Exception($"Unable to retrieve support activities for registration form"); } } }
public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] [RequestBodyType(typeof(GetRegistrationFormSupportActivitiesRequest), "get registration form support activities")] GetRegistrationFormSupportActivitiesRequest req, CancellationToken cancellationToken) { try { if (req.IsValid(out var validationResults)) { GetRegistrationFormSupportActivitiesResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } else { return(new ObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults)) { StatusCode = 422 }); } } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetRegistrationFormSupportActivities", ex); return(new ObjectResult(ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <GetRegistrationFormSupportActivitiesResponse> GetRegistrationFormSupportActivies(RegistrationFormVariant registrationFormVariant) { var rfvRequest = new RegistrationFormVariantRequest(); rfvRequest.RegistrationFormVariant = registrationFormVariant; var request = new GetRegistrationFormSupportActivitiesRequest(); request.RegistrationFormVariantRequest = rfvRequest; var requestContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); HttpResponseMessage response = await Client.PostAsync("/api/GetRegistrationFormSupportActivities", requestContent); var responseString = await response.Content.ReadAsStringAsync(); var deserializeContent = JsonConvert.DeserializeObject <ResponseWrapper <GetRegistrationFormSupportActivitiesResponse, GroupServiceErrorCode> >(responseString); if (deserializeContent.HasContent && deserializeContent.IsSuccessful) { return(deserializeContent.Content); } else { throw new Exception("Unable to fetch Support Activities For Form Varient"); } }