public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] [RequestBodyType(typeof(GetGroupEmailConfigurationRequest), "get group email configuration")] GetGroupEmailConfigurationRequest req, CancellationToken cancellationToken) { try { GetGroupEmailConfigurationResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetGroupEmailConfigurationResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetGroupEmailConfiguration", ex); return(new ObjectResult(ResponseWrapper <GetGroupEmailConfigurationResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <List <KeyValuePair <string, string> > > GetGroupEmailConfiguration(int groupId, CommunicationJobTypes communicationJobType) { GetGroupEmailConfigurationRequest request = new GetGroupEmailConfigurationRequest() { GroupId = groupId, CommunicationJob = new CommunicationJob() { CommunicationJobType = communicationJobType } }; string json = JsonConvert.SerializeObject(request); StringContent data = new StringContent(json, Encoding.UTF8, "application/json"); using (HttpResponseMessage response = await _httpClientWrapper.PostAsync(HttpClientConfigName.GroupService, "/api/GetGroupEmailConfiguration", data, CancellationToken.None).ConfigureAwait(false)) { string jsonResponse = await response.Content.ReadAsStringAsync(); var getJobsResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetGroupEmailConfigurationResponse, GroupServiceErrorCode> >(jsonResponse); if (getJobsResponse.HasContent && getJobsResponse.IsSuccessful) { return(getJobsResponse.Content.EmailConfigurations); } return(null); } }