public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] [RequestBodyType(typeof(GetSupportActivitiesConfigurationRequest), "Get support activity configuration")] GetSupportActivitiesConfigurationRequest req, CancellationToken cancellationToken) { try { if (req.IsValid(out var validationResults)) { GetSupportActivitiesConfigurationResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetSupportActivitiesConfigurationResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } else { return(new ObjectResult(ResponseWrapper <GetSupportActivitiesConfigurationResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults)) { StatusCode = 422 }); } } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetSupportActivitiesConfiguration", ex); return(new ObjectResult(ResponseWrapper <GetSupportActivitiesConfigurationResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <List <SupportActivityConfiguration> > GetSupportActivitiesConfigurationAsync(CancellationToken cancellationToken) { GetSupportActivitiesConfigurationRequest request = new GetSupportActivitiesConfigurationRequest(); string path = $"api/GetSupportActivitiesConfiguration"; 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 <GetSupportActivitiesConfigurationResponse, CommunicationServiceErrorCode> >(jsonResponse); if (emailSentResponse.HasContent && emailSentResponse.IsSuccessful) { return(emailSentResponse.Content.SupportActivityConfigurations); } else { throw new Exception($"Unable to retrieve support activities"); } } }