コード例 #1
0
ファイル: HaddadService.cs プロジェクト: ChainSong/WMS
        public Response <OrderStatus> GetOrderStatus(GetOrderStatusRequest request)
        {
            Response <OrderStatus> response = new Response <OrderStatus>();

            if (request == null || request.OrderCancel == null)
            {
                ArgumentNullException ex = new ArgumentNullException("GetOrderStatus request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }
            try
            {
                int RowCount = 0;
                response.Result    = new HaddadServiceAccessor().GetOrderStatus(request.OrderCancel);
                response.IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
コード例 #2
0
        public async Task <ActionResult <GetOrderStatusResponse> > Status([FromRoute] GetOrderStatusRequest request)
        {
            _logger.LogInformation($"Get order status service call for {request.OrderNumber}...");
            var response = new GetOrderStatusResponse();

            try
            {
                response.OrderStatus = (await _orderProcessingService.GetOrderAsync(request.OrderNumber)).OrderStatus;
            }
            catch (OrderNotFoundException ex)
            {
                _logger.LogWarning($"{ex.Message}");
                return(NotFound(ex.Message));
            }
            catch (ValidationException ex)
            {
                _logger.LogWarning($"Validations failures: {ex.Message}");
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Exception occured while getting order status: {ex.Message} {ex.StackTrace}");
                return(StatusCode((int)HttpStatusCode.InternalServerError));
            }
            return(Ok(response));
        }
コード例 #3
0
        public override async Task GetOrderStatus(GetOrderStatusRequest request, IServerStreamWriter <GetOrderStatusResponse> responseStream, ServerCallContext context)
        {
            await responseStream.WriteAsync(new GetOrderStatusResponse { Status = "Created" });

            await Task.Delay(500);

            await responseStream.WriteAsync(new GetOrderStatusResponse { Status = "Validated" });

            await Task.Delay(1000);

            await responseStream.WriteAsync(new GetOrderStatusResponse { Status = "Dispatched" });
        }
コード例 #4
0
        /// <summary>
        /// Получает текущее состояние заказа
        /// </summary>
        public GetOrderStatusResponse GetOrderStatus(GetOrderStatusParams getOrderStatusParams)
        {
            var url     = _settings.BaseUrl + "/getOrderStatus.do";
            var request = new GetOrderStatusRequest(getOrderStatusParams)
            {
                userName = _settings.Username,
                password = _settings.Password
            };

            var result = _networkClient.PostObjectViaUrlParams <GetOrderStatusResponse>(url, request, "GET");

            return(result);
        }