private static void TestOrders(int goodsOwnerId, OrdersClient ordersClient) { Console.WriteLine("Running order examples..."); Console.WriteLine(""); var orderNumber = "PR78912"; // A unique order number. // Define a new order. var order = new PostOrderModel() { GoodsOwnerId = goodsOwnerId, Consignee = new PostOrderConsignee() { Name = "Test Testsson", Address1 = "Test Street 1", City = "Test City", PostCode = "111111", CountryCode = "SE" }, OrderNumber = orderNumber, OrderLines = new List <PostOrderLine>() { new PostOrderLine() { RowNumber = "OrderRow1", ArticleNumber = "1234", NumberOfItems = 2 }, // Each order line must have a unique row number. new PostOrderLine() { RowNumber = "OrderRow2", ArticleNumber = "7879", NumberOfItems = 4 }, } }; // Send the new order to the warehouse, thus creating it. var createResponse = ordersClient.PutOrder(order); // If we send in the same order number again, the system will try to update the order. // It is possible to update an order as long as the warehouse has not started working on it. order.OrderLines.Add(new PostOrderLine() { RowNumber = "OrderRow3", ArticleNumber = "5943", NumberOfItems = 9 }); var updateResponse = ordersClient.PutOrder(order); // You may upload files (documents, labels, etc) to orders. var pdfPath = @"C:\WMS\Invoice-PR78912.pdf"; if (System.IO.File.Exists(pdfPath)) { var fileBase64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(pdfPath)); var file = new PostFileModel() { FileName = "Invoice-PR78912.pdf", FileDataBase64 = fileBase64, MimeType = "application/pdf" }; ordersClient.Post(createResponse.OrderId.Value, file); } // You may query for orders using various ways. // For instance using orderId: var getOrderByOrderId = ordersClient.Get(createResponse.OrderId.Value); // Or by order number: var getOrderByOrderNumber = ordersClient.GetAll(goodsOwnerId, orderNumber, null, null, null, null, null, null, null); // Or get all orders which have been shipped during a particular period: var from = new DateTimeOffset(new DateTime(2019, 11, 1, 12, 0, 0)); var to = new DateTimeOffset(new DateTime(2019, 11, 1, 13, 0, 0)); var getOrdersByShippedTime = ordersClient.GetAll(goodsOwnerId, null, from, to, null, null, null, null, null); foreach (var shippedOrder in getOrdersByShippedTime) { // Handle "shippedOrder" somehow. } }