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); }); } } } }
private async void BtnPutOrder_Click(object sender, RoutedEventArgs e) { string username = config.WordpressUsername; string password = config.WordpressPassword; int idOrder = 167; string url = $"{config.WordpressUrl}/index.php/wp-json/wc/v2/orders/{idOrder}"; string payload = JsonConvert.SerializeObject(new { status = "completed" }); await WordPress.Put(username, password, url, payload); }
public async Task UpdateOrder(string newStatus, long idOrder) { var config = Files.Load <Configuration>(Files.Paths.ConfigXml); string username = config.WordpressUsername; string password = config.WordpressPassword; string url = $"{config.WordpressUrl}/index.php/wp-json/wc/v2/orders/{idOrder}"; string payload = JsonConvert.SerializeObject(new { status = newStatus }); await WordPress.Put(username, password, url, payload); }