Ejemplo n.º 1
0
            public async Task <TResponse> Post <TRequest, TResponse>(string path, TRequest request)
                where TRequest : class
                where TResponse : class
            {
                var client = new HttpClient();
                var r      = new HttpRequestMessage
                {
                    // TODO a way to set this...
                    RequestUri = new Uri($"https://localhost:5001{path}"),
                    Method     = HttpMethod.Post,
                    Content    =
                        new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"),
                };

                // request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));
                r.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response = await client.SendAsync(r);

                // TODO all manner of error conditions here...
                string raw = await response.Content.ReadAsStringAsync();

                ApiOkResponse <TResponse> responseObject = JsonConvert.DeserializeObject <ApiOkResponse <TResponse> >(raw);

                return(responseObject.Content);
            }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetWorkersIds()
        {
            var allWorkers = await workers.EntitiesAsEnumerableAsync();

            var data = allWorkers.Where(w => !w.Name.Contains(AuthRoles.Admin) && !w.Name.Contains(AuthRoles.Manager))
                       .Select(w => new { id = w.Id, name = w.Name });
            var response = new ApiOkResponse("Returning workers data", new { workers = data });

            return(this.GetActionResult(response, logger));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddCarAsync([FromBody] AddCarRequestDto dto, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = await _carService.AddCarAsync(dto, cancellationToken);

            if (result == null)
            {
                return(BadRequest(new ApiResponse(StatusCodes.Status400BadRequest)));
            }

            var response = new ApiOkResponse(result);

            return(Ok(response));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> GetCarById(int id, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = await _carService.GetCarById(id, cancellationToken);

            if (result == null)
            {
                return(BadRequest(new ApiResponse(StatusCodes.Status400BadRequest)));
            }

            var response = new ApiOkResponse(result);

            return(Ok(response));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> RefreshToken([FromBody] RefreshTokenRequestDto dto, CancellationToken cancellationToken = default(CancellationToken))
        {
            var tokenDto = _mapper.Map <TokenDto>(dto);

            if (!await _tokenService.CheckToken(tokenDto, cancellationToken))
            {
                return(BadRequest(new ApiResponse(StatusCodes.Status400BadRequest)));
            }

            var newToken = await _tokenService.RefreshSecurityToken(tokenDto, cancellationToken);

            var response = new ApiOkResponse(newToken);

            return(Ok(response));
        }
Ejemplo n.º 6
0
        public void ReturnEansForRequestedVendor()
        {
            //Arrange


            HttpResponseMessage response = _client.GetAsync("api/v1/Product/NordsDropShip").Result;

            var responseString = response.Content.ReadAsStringAsync().Result;
            ApiOkResponse <object> apiResponse = JsonConvert.DeserializeObject <ApiOkResponse <object> >(responseString);
            var content = JsonConvert.DeserializeObject <Content <object> >(apiResponse.Content.Result.ToString());
            var result  = JsonConvert.DeserializeObject <List <Product> >(content.Result.ToString());

            Assert.Equal((int)StatusCodes.Status200OK, (int)response.StatusCode);
            Assert.NotNull(result);
        }
Ejemplo n.º 7
0
        public void InsertValidCSVFormattedProductListIn()
        {
            //Arrange
            string productcsv  = TestCSV.GetTestCSV1();
            var    postContent = new  StringContent(productcsv, Encoding.UTF8, "text/plain");

            postContent.Headers.Remove("Content-Type");
            postContent.Headers.Add("Content-Type", "text/plain");

            HttpResponseMessage response = _client.PostAsync("api/v1/Product/", postContent).Result;

            var responseString = response.Content.ReadAsStringAsync().Result;
            ApiOkResponse <object> apiResponse = JsonConvert.DeserializeObject <ApiOkResponse <object> >(responseString);
            var content = JsonConvert.DeserializeObject <Content <object> >(apiResponse.Content.Result.ToString());

            Assert.Equal((int)StatusCodes.Status201Created, (int)response.StatusCode);
            Assert.Equal("Success", content.Result.ToString());
        }
Ejemplo n.º 8
0
            public async Task <TResponse> GetAuth <TResponse>(string path)
                where TResponse : class
            {
                var client = new HttpClient();
                var r      = new HttpRequestMessage
                {
                    RequestUri = new Uri($"https://localhost:5001{path}"),
                    Method     = HttpMethod.Get,
                };

                r.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                r.Headers.Add("Authorization", $"Bearer {Instance.IdToken}");

                HttpResponseMessage response = await client.SendAsync(r);

                // TODO all manner of error conditions here...
                string raw = await response.Content.ReadAsStringAsync();

                ApiOkResponse <TResponse> responseObject = JsonConvert.DeserializeObject <ApiOkResponse <TResponse> >(raw);

                return(responseObject.Content);
            }
Ejemplo n.º 9
0
        public override void OnResultExecuting(ResultExecutingContext context)
        {
            var url = $"{context.HttpContext.Request.Scheme}://{context.HttpContext.Request.Host}{context.HttpContext.Request.Path}{context.HttpContext.Request.QueryString}";

            switch (context.Result)
            {
            case OkObjectResult okObj:
                var apiOkObjResult = new ApiOkResponse(okObj.Value, url);
                context.Result = new JsonResult(apiOkObjResult)
                {
                    StatusCode = apiOkObjResult.StatusCode
                };
                break;

            case OkResult:
                var apiOkResult = new ApiOkResponse(null, url);
                context.Result = new JsonResult(apiOkResult)
                {
                    StatusCode = apiOkResult.StatusCode
                };
                break;

            case ContentResult contentResult:
                var apicontentResult = new ApiOkResponse(contentResult.Content, url);
                context.Result = new JsonResult(apicontentResult)
                {
                    StatusCode = apicontentResult.StatusCode
                };
                break;

            case ObjectResult objResult:

                switch (objResult.StatusCode)
                {
                case 400:
                    var apiBadRequestResult = new ApiBadRequestResponse(url, GetInformationDatas(objResult));
                    context.Result = new JsonResult(apiBadRequestResult)
                    {
                        StatusCode = apiBadRequestResult.StatusCode
                    };
                    break;

                case 404:
                    var apiNotFoundResult = new ApiNotFoundResponse(url, GetInformationDatas(objResult));
                    context.Result = new JsonResult(apiNotFoundResult)
                    {
                        StatusCode = apiNotFoundResult.StatusCode
                    };
                    break;

                case 415:
                    var apiUnSupportResult = new ApiUnSupportResponse(url);
                    context.Result = new JsonResult(apiUnSupportResult)
                    {
                        StatusCode = apiUnSupportResult.StatusCode
                    };
                    break;

                case null:
                    if (objResult.Value is not ApiResponse)
                    {
                        var apiObjResult = new ApiOkResponse(objResult.Value, url);
                        context.Result = new JsonResult(apiObjResult)
                        {
                            StatusCode = apiObjResult.StatusCode
                        };
                    }
                    break;
                }
                break;
            }
            base.OnResultExecuting(context);
        }
Ejemplo n.º 10
0
        public OkObjectResult SuccessResponse(object data = null, string message = "操作成功")
        {
            ApiOkResponse response = new ApiOkResponse(data);

            return(Ok(response)); // 回傳200
        }