private async Task DownloadOrders(Configuration config) { if (string.IsNullOrWhiteSpace(config.WordpressUrl)) { this.log.Print("Missing wordpress url"); return; } string username = config.WordpressUsername; string password = config.WordpressPassword; string url = $"{config.WordpressUrl}/index.php/wp-json/wc/v2/orders"; string responseStr = await WordPress.Get(username, password, url); #if DEBUG Files.Save(Files.Paths.OrdersJson, responseStr); #endif if (JsonConvert.DeserializeObject(responseStr) is JArray obj) { foreach (var tkn in obj) { var order = new OrdersPage.Order(tkn); var currentOrder = MyWindow.Appka.Orders.FirstOrDefault(f => f.Id == order.Id); if (currentOrder != null) { currentOrder.UpdateStore(tkn); } else { App.Current.Dispatcher.Invoke(() => { MyWindow.Appka.Orders.Add(order); }); } } } }
/// <summary> /// https://github.com/woocommerce/woocommerce/wiki/Getting-started-with-the-REST-API /// </summary> private async void BtnGetJson_Click(object sender, RoutedEventArgs e) { string username = config.WordpressUsername; string password = config.WordpressPassword; string url = $"{config.WordpressUrl}/index.php/wp-json/wc/v2/orders"; string responseStr = await WordPress.Get(username, password, url); if (JsonConvert.DeserializeObject(responseStr) is JArray obj) { foreach (var tkn in obj) { var order = new OrdersPage.Order(tkn); var currentOrder = MyWindow.Appka.Orders.FirstOrDefault(f => f.Id == order.Id); if (currentOrder == null) { App.Current.Dispatcher.Invoke(() => { MyWindow.Appka.Orders.Add(order); }); } } } }