using Magazyn.DataModels; using Magazyn.Views; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Newtonsoft.Json; namespace Magazyn { public partial class MainWindow : Window { HttpClient client; public MainWindow() { InitializeComponent(); client = new HttpClient(); } private void Button_Click(object sender, RoutedEventArgs e) { RefreshListOfFruits(); } private void FruitViewSaveChangingAmountOfFruits(int amountChanged, Fruit fruit) { string json = "{\"id\": " + fruit.Id.ToString() + ", \"change\": " + amountChanged.ToString() + " }"; Task response = client.PostAsync("https://sysmag.herokuapp.com/api/change-quantity", new StringContent(json, Encoding.UTF8, "application/json")); while (response.IsCompleted != true) ; RefreshListOfFruits(); } private void RefreshListOfFruits() { Task response = client.GetAsync("https://sysmag.herokuapp.com/api/get-all"); while (response.IsCompleted != true) ; Fruit[] fruits = JsonConvert.DeserializeObject(response.Result.Content.ReadAsStringAsync().Result.ToString()); UpdateListOfFruits(fruits); } private void UpdateListOfFruits(Fruit[] list) { fruitList.Items.Clear(); foreach (Fruit item in list) { FruitView fruitView = new FruitView(item); fruitView.SaveChangingAmountOfFruits += FruitViewSaveChangingAmountOfFruits; fruitList.Items.Add(fruitView); } } private string GetWarehousePrice() { Task response = client.GetAsync("https://sysmag.herokuapp.com/api/get-price-of-all"); while (response.IsCompleted != true) ; return response.Result.Content.ReadAsStringAsync().Result.ToString(); } private void Button_Click_1(object sender, RoutedEventArgs e) { MessageBox.Show("Value of warehouse: " + GetWarehousePrice()); } } }