コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: StatusController.cs プロジェクト: GedeonHuy/PMS
        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));
        }
コード例 #8
0
ファイル: StatusController.cs プロジェクト: GedeonHuy/PMS
        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));
        }
コード例 #9
0
        /// <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)));
        }