Example #1
0
        public async Task <IActionResult> GetSupplierOrder([HttpTrigger(AuthorizationLevel.Anonymous, "GET", Route = "{supplierId}/{orderId}")]
                                                           HttpRequest req, string supplierId, string orderId, ILogger log)
        {
            log.LogInformation($"Supplier Order GET Request: {supplierId} {orderId}");
            try
            {
                var user = await _token.Authorize(req, new[] { ApiRole.OrderAdmin, ApiRole.OrderReader });

                Require.That(user.SupplierID == supplierId, new ErrorCode("Authorization.InvalidToken", 401, "Authorization.InvalidToken: Access token is invalid or expired."));
                var order = await _supplier.GetOrderAsync(orderId, user);

                log.LogInformation($"Supplier Order GET Request Success: {supplierId} {orderId}");
                return(new OkObjectResult(order));
            }
            catch (OrderCloudIntegrationException oex)
            {
                log.LogError($"Error retrieving order for supplier: {supplierId} {orderId}. { oex.ApiError }");
                return(new BadRequestObjectResult(oex.ApiError));
            }
            catch (OrderCloudException ocex)
            {
                log.LogError($"Error retrieving order for supplier: {supplierId} {orderId}. { ocex.Errors }");
                return(new BadRequestObjectResult(ocex.Errors));
            }
            catch (Exception ex)
            {
                log.LogError($"Error retrieving order for supplier: {supplierId} {orderId}. {ex.Message}");
                return(new BadRequestObjectResult(new ApiError()
                {
                    ErrorCode = "500",
                    Message = ex.Message
                }));
            }
        }
Example #2
0
        public async Task <HSSupplierOrderData> GetSupplierOrderData(string supplierOrderID, DecodedToken decodedToken)
        {
            var orderData = await _supplierSync.GetOrderAsync(supplierOrderID, decodedToken);

            return((HSSupplierOrderData)orderData.ToObject(typeof(HSSupplierOrderData)));
        }
Example #3
0
        public async Task <HSSupplierOrderData> GetSupplierOrderData(string supplierOrderID, VerifiedUserContext user)
        {
            var orderData = await _supplierSync.GetOrderAsync(supplierOrderID, user);

            return((HSSupplierOrderData)orderData.ToObject(typeof(HSSupplierOrderData)));
        }