public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] [RequestBodyType(typeof(GetGroupSupportActivityInstructionsRequest), "get group support activity instructions")] GetGroupSupportActivityInstructionsRequest req, CancellationToken cancellationToken) { try { GetGroupSupportActivityInstructionsResponse response = await _mediator.Send(req, cancellationToken); return(new OkObjectResult(ResponseWrapper <GetGroupSupportActivityInstructionsResponse, GroupServiceErrorCode> .CreateSuccessfulResponse(response))); } catch (Exception ex) { _logger.LogErrorAndNotifyNewRelic($"Unhandled error in GetGroupSupportActivityInstructions", ex); return(new ObjectResult(ResponseWrapper <GetGroupSupportActivityInstructionsResponse, GroupServiceErrorCode> .CreateUnsuccessfulResponse(GroupServiceErrorCode.InternalServerError, "Internal Error")) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public async Task <Instructions> GetGroupSupportActivityInstructions(int groupId, SupportActivities supportActivity) { GetGroupSupportActivityInstructionsRequest request = new GetGroupSupportActivityInstructionsRequest() { GroupId = groupId, SupportActivityType = new SupportActivityType() { SupportActivity = supportActivity } }; string json = JsonConvert.SerializeObject(request); StringContent data = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = await Client.PostAsync("/api/GetGroupSupportActivityInstructions", data); string str = await response.Content.ReadAsStringAsync(); var deserializedResponse = JsonConvert.DeserializeObject <ResponseWrapper <GetGroupSupportActivityInstructionsResponse, GroupServiceErrorCode> >(str); if (deserializedResponse.HasContent && deserializedResponse.IsSuccessful) { return(deserializedResponse.Content.Instructions); } throw new Exception("Bad response from GetGroupSupportActivityInstructions"); }