public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] [RequestBodyType(typeof(GetNewShiftActionsRequest), "get new shift actions")] GetNewShiftActionsRequest req, CancellationToken cancellationToken) { try { if (req.IsValid(out var validationResults)) { GetNewShiftActionsResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetNewShiftActionsResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } else { return(new ObjectResult(ResponseWrapper <GetNewShiftActionsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.ValidationError, validationResults)) { StatusCode = 422 }); } } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetNewShiftActionsResponse", ex); return(new ObjectResult(ResponseWrapper <GetNewRequestActionsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <GetNewShiftActionsResponse> GetNewShiftActions(GetNewShiftActionsRequest request, CancellationToken cancellationToken) { string path = $"api/GetNewShiftActions"; using (HttpResponseMessage response = await _httpClientWrapper.GetAsync(HttpClientConfigName.GroupService, path, request, cancellationToken).ConfigureAwait(false)) { response.EnsureSuccessStatusCode(); string content = await response.Content.ReadAsStringAsync(); var jsonResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetNewShiftActionsResponse, GroupServiceErrorCode> >(content); if (jsonResponse.IsSuccessful) { return(jsonResponse.Content); } } throw new Exception("Unable to get new request actions"); }