Beispiel #1
0
        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); });
                    }
                }
            }
        }
Beispiel #2
0
        /// <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);
                        });
                    }
                }
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }