public async Task Invoke(HttpContext context) { try { await next(context); } catch (Exception e) { if (unitOfWork.TransactionExists()) { logger.LogInformation("Rolling Back Uncommitted unit of work"); await unitOfWork.RollbackAsync(); } var response = context.Response; response.ContentType = "application/json"; response.StatusCode = e is NotImplementedException ? StatusCodes.Status501NotImplemented : StatusCodes.Status500InternalServerError; logger.LogError(e, "Global Exception Caught"); if (e.InnerException is not null) { logger.LogError(e, "Inner Exception of Global Exception Caught"); } var result = new StatusResource { Message = "Service Error", Status = false }; await response.WriteAsJsonAsync(result); } }
public StatusResource Health() { var status = new StatusResource(); status.AppName = _project.Name; status.Version = _project.Version; status.Status = HealthContext.CurrentStatus; status.Commit = _project.Commit; return(status); }
public void GetStatus_Returns_Ok_Result() { var testId = 1; var resources = new StatusResource(); mockService.Setup(r => r.GetStatus(It.IsAny <int>())).Returns(new StatusDto()); mockMapper.Setup(m => m.Map <StatusResource>(It.IsAny <StatusDto>())).Returns(resources); var result = statusController.GetStatus(testId) as OkObjectResult; Assert.NotNull(result); Assert.AreEqual(200, result.StatusCode); }
public void GetStatusByDescription_Returns_StatusResource() { var testDescription = "Test"; var resources = new StatusResource(); mockService.Setup(r => r.GetStatusByDescription(It.IsAny <string>())).Returns(new StatusDto()); mockMapper.Setup(m => m.Map <StatusResource>(It.IsAny <StatusDto>())).Returns(resources); var result = statusController.GetStatusByDescription(testDescription) as OkObjectResult; var actual = result.Value as StatusResource; Assert.AreEqual(resources, actual); }
public void GetStatusByDescription_Returns_Ok_Result() { var testDescription = "Test"; var resources = new StatusResource(); mockService.Setup(r => r.GetStatusByDescription(It.IsAny <string>())).Returns(new StatusDto()); mockMapper.Setup(m => m.Map <StatusResource>(It.IsAny <StatusDto>())).Returns(resources); var result = statusController.GetStatusByDescription(testDescription) as OkObjectResult; Assert.NotNull(result); Assert.AreEqual(200, result.StatusCode); }
public void GetStatus_Returns_StatusResource() { var testId = 1; var resources = new StatusResource(); mockService.Setup(r => r.GetStatus(It.IsAny <int>())).Returns(new StatusDto()); mockMapper.Setup(m => m.Map <StatusResource>(It.IsAny <StatusDto>())).Returns(resources); var result = statusController.GetStatus(testId) as OkObjectResult; var actual = result.Value as StatusResource; Assert.AreEqual(resources, actual); }
public async Task <IActionResult> CreateStatus([FromBody] StatusResource statusResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var status = mapper.Map <StatusResource, Status>(statusResource); repository.AddStatus(status); await unitOfWork.Complete(); status = await repository.GetStatus(status.StatusId); var result = mapper.Map <Status, StatusResource>(status); return(Ok(result)); }
public async Task <IActionResult> UpdateStatus(int id, [FromBody] StatusResource statusResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var status = await repository.GetStatus(id); if (status == null) { return(NotFound()); } mapper.Map <StatusResource, Status>(statusResource, status); await unitOfWork.Complete(); var result = mapper.Map <Status, StatusResource>(status); return(Ok(result)); }
/// <summary> /// Update status of shipping. /// </summary> /// <param name="OrderNumber"></param>/// <param name="ShippingCode"></param>/// <param name="Body"></param> /// <returns>StatusResource</returns> public async Task <StatusResource> UpdateShippingStatusAsync(string OrderNumber, long?ShippingCode, StatusResource Body) { // verify the required parameter 'OrderNumber' is set if (OrderNumber == null) { throw new ApiException(400, "Missing required parameter 'OrderNumber' when calling UpdateShippingStatus"); } // verify the required parameter 'ShippingCode' is set if (ShippingCode == null) { throw new ApiException(400, "Missing required parameter 'ShippingCode' when calling UpdateShippingStatus"); } var path = "/orders/{orderNumber}/shippings/{shippingCode}/status"; path = path.Replace("{format}", "json"); path = path.Replace("{" + "orderNumber" + "}", apiClient.ParameterToString(OrderNumber)); path = path.Replace("{" + "shippingCode" + "}", apiClient.ParameterToString(ShippingCode)); var queryParams = new Dictionary <String, String>(); var headerParams = new Dictionary <String, String>(); var formParams = new Dictionary <String, String>(); var fileParams = new Dictionary <String, String>(); String postBody = null; postBody = apiClient.Serialize(Body); // http body (model) parameter // authentication setting, if any String[] authSettings = new String[] { "client_id", "access_token" }; // make the HTTP request IRestResponse response = (IRestResponse)await apiClient.CallApiAsync(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, authSettings); if (((int)response.StatusCode) >= 400) { throw new ApiException((int)response.StatusCode, "Error calling UpdateShippingStatus: " + response.Content, response.Content); } return((StatusResource)apiClient.Deserialize(response.Content, typeof(StatusResource))); }