diff --git a/Exam/Exam/Exam.csproj b/Exam/Exam/Exam.csproj
index 4106cb0..ff3ca98 100644
--- a/Exam/Exam/Exam.csproj
+++ b/Exam/Exam/Exam.csproj
@@ -7,4 +7,12 @@
true
+
+
+
+
+
+
+
+
diff --git a/Exam/Exam/MainWindow.xaml b/Exam/Exam/MainWindow.xaml
index 4ac86fc..2f861f8 100644
--- a/Exam/Exam/MainWindow.xaml
+++ b/Exam/Exam/MainWindow.xaml
@@ -15,17 +15,14 @@
@@ -65,11 +62,17 @@
x:Name="CountryNameInput"
Grid.Column="0"
Margin="0,0,20,0"
- Padding="3" />
+ Padding="3" TextChanged="CountryNameInput_TextChanged" />
@@ -87,21 +90,25 @@
Bitcoin
+
+
+
+
-
-
+
+
+ Content="Update Bitcoin" Background="#FF69D5F9" Grid.ColumnSpan="2" Margin="96,0,0,1" Width="82" />
+ Margin="0,25,0,0"
+ Padding="5" Grid.ColumnSpan="2" Background="#FF0B100F" Foreground="#FF64F305" FontSize="14" />
diff --git a/Exam/Exam/MainWindow.xaml.cs b/Exam/Exam/MainWindow.xaml.cs
index b93db5d..8259920 100644
--- a/Exam/Exam/MainWindow.xaml.cs
+++ b/Exam/Exam/MainWindow.xaml.cs
@@ -1,7 +1,14 @@
-using System;
+using Exam.Models;
+using Newtonsoft.Json;
+using System;
using System.Collections.Generic;
+using System.Diagnostics.Metrics;
+using System.Drawing;
+using System.IO;
using System.Linq;
+using System.Net.Http;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
@@ -12,6 +19,7 @@
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
+using static System.Net.WebRequestMethods;
namespace Exam
{
@@ -20,22 +28,97 @@ namespace Exam
///
public partial class MainWindow : Window
{
- public const string STOCKS_API_URL = "https://ps-async.fekberg.com/api/stocks/";
+ public string STOCKS_API_URL = "https://ps-async.fekberg.com/api/stocks/";
public const string BITCOIN_API_URL = "https://api.coindesk.com/v1/bpi/currentprice.json";
+ private List list = new List();
+ private List _list = new List();
+
public MainWindow()
{
InitializeComponent();
}
- private void Search_Click(object sender, RoutedEventArgs e)
+ private async void Search_Click(object sender, RoutedEventArgs e)
+ {
+
+ //CountryNameInput
+ var url = STOCKS_API_URL;
+
+ if (string.IsNullOrEmpty(CountryNameInput.Text))
+ {
+ url = STOCKS_API_URL;
+ }
+ else
+ {
+ url = STOCKS_API_URL + "country=" + CountryNameInput.Text;
+ }
+
+ HttpClient client = new HttpClient();
+ client.BaseAddress = new Uri(url);
+ var request = await client.GetAsync(" ");
+ var json = await request.Content.ReadAsStringAsync();
+ var deJson = JsonConvert.DeserializeObject(json);
+
+ //faylga yozish Kompanya
+ await DataKompanya(deJson);
+
+ StocksDataGrid.ItemsSource = new List();
+ _list.Add(deJson);
+
+ StocksDataGrid.ItemsSource = _list;
+
+ }
+ public async Task DataKompanya(Kompaniya data)
+ {
+ string path = @"C:\Users\shohb\OneDrive\Ishchi stol\modul-04\Module-04\Exam\Exam\data\data.json";
+ if (!System.IO.File.Exists(path))
+ {
+ System.IO.File.Create(path).Close();
+ }
+ using(StreamWriter sw = new StreamWriter(path))
+ {
+ await sw.WriteLineAsync(data.change.ToString());
+ }
+ }
+ private async void Bitcoin_Click(object sender, RoutedEventArgs e)
+ {
+ BitcoinsList.ItemsSource = new List();
+ var coinDesk = await RequestBitCoinsAsync();
+
+ list.Add(coinDesk);
+
+ BitcoinsList.ItemsSource = list;
+ }
+ public async Task RequestBitCoinsAsync()
{
- // StocksDataGrid.ItemsSource =
+ var url = BITCOIN_API_URL;
+
+ HttpClient client = new HttpClient();
+ client.BaseAddress = new Uri(url);
+ var request = await client.GetAsync("");
+ var Json = await request.Content.ReadAsStringAsync();
+
+ // faylga yozish bitcoins
+ string path = @"C:\Users\shohb\OneDrive\Ishchi stol\modul-04\Module-04\Exam\Exam\data\coin.txt";
+ if (!System.IO.File.Exists(path))
+ {
+ System.IO.File.Create(path).Close();
+ }
+ using (StreamWriter sw = new StreamWriter(path, true))
+ {
+ sw.WriteLine(Json.ToString());
+ }
+
+
+ var Deserializer = JsonConvert.DeserializeObject(Json);
+ return Deserializer;
}
+
- private void Bitcoin_Click(object sender, RoutedEventArgs e)
+ private void CountryNameInput_TextChanged(object sender, TextChangedEventArgs e)
{
- // BitcoinsList.ItemsSource =
+
}
}
}
diff --git a/Exam/Exam/Models/Coins.cs b/Exam/Exam/Models/Coins.cs
new file mode 100644
index 0000000..20f1b78
--- /dev/null
+++ b/Exam/Exam/Models/Coins.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Exam.Models
+{
+ public class Coins
+ {
+ public Time time { get; set; }
+ public string disclaimer { get; set; }
+ public string chartName { get; set; }
+ public Bpi bpi { get; set; }
+ public override string ToString()
+ {
+ return $"{time}, {bpi.USD.rate}, {disclaimer},{chartName},{bpi.USD.code}";
+ }
+ }
+ // Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse);
+ public class Bpi
+ {
+ public USD USD { get; set; }
+ public GBP GBP { get; set; }
+ public EUR EUR { get; set; }
+ }
+
+ public class EUR
+ {
+ public string code { get; set; }
+ public string symbol { get; set; }
+ public string rate { get; set; }
+ public string description { get; set; }
+ public double rate_float { get; set; }
+ }
+
+ public class GBP
+ {
+ public string code { get; set; }
+ public string symbol { get; set; }
+ public string rate { get; set; }
+ public string description { get; set; }
+ public double rate_float { get; set; }
+ }
+
+
+
+ public class Time
+ {
+ public string updated { get; set; }
+ public DateTime updatedISO { get; set; }
+ public string updateduk { get; set; }
+ }
+
+ public class USD
+ {
+ public string code { get; set; }
+ public string symbol { get; set; }
+ public string rate { get; set; }
+ public string description { get; set; }
+ public double rate_float { get; set; }
+
+ }
+
+
+}
diff --git a/Exam/Exam/Models/Kompaniya.cs b/Exam/Exam/Models/Kompaniya.cs
new file mode 100644
index 0000000..65d5218
--- /dev/null
+++ b/Exam/Exam/Models/Kompaniya.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Exam.Models
+{
+ // Root myDeserializedClass = JsonConvert.DeserializeObject>(myJsonResponse);
+ public class Kompaniya
+ {
+ public string ticker { get; set; }
+ public string identifier { get; set; }
+ public DateTime tradeDate { get; set; }
+ public object open { get; set; }
+ public object high { get; set; }
+ public object low { get; set; }
+ public object close { get; set; }
+ public int volume { get; set; }
+ public double change { get; set; }
+ public double changePercent { get; set; }
+
+ public override string ToString()
+ {
+ return $"DateTime:{tradeDate}, Ticker:{ticker}, ChangePercent:{changePercent}";
+ }
+ }
+
+
+}
diff --git a/Exam/Exam/data/coin.txt b/Exam/Exam/data/coin.txt
new file mode 100644
index 0000000..9bfdb46
--- /dev/null
+++ b/Exam/Exam/data/coin.txt
@@ -0,0 +1,19 @@
+{"time":{"updated":"Nov 16, 2023 16:37:00 UTC","updatedISO":"2023-11-16T16:37:00+00:00","updateduk":"Nov 16, 2023 at 16:37 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,654.8698","description":"United States Dollar","rate_float":36654.8698},"GBP":{"code":"GBP","symbol":"£","rate":"30,628.5160","description":"British Pound Sterling","rate_float":30628.516},"EUR":{"code":"EUR","symbol":"€","rate":"35,707.1948","description":"Euro","rate_float":35707.1948}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:38:00 UTC","updatedISO":"2023-11-16T16:38:00+00:00","updateduk":"Nov 16, 2023 at 16:38 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,637.4336","description":"United States Dollar","rate_float":36637.4336},"GBP":{"code":"GBP","symbol":"£","rate":"30,613.9464","description":"British Pound Sterling","rate_float":30613.9464},"EUR":{"code":"EUR","symbol":"€","rate":"35,690.2094","description":"Euro","rate_float":35690.2094}}}
+{"time":{"updated":"Nov 16, 2023 16:43:00 UTC","updatedISO":"2023-11-16T16:43:00+00:00","updateduk":"Nov 16, 2023 at 16:43 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,614.9741","description":"United States Dollar","rate_float":36614.9741},"GBP":{"code":"GBP","symbol":"£","rate":"30,595.1794","description":"British Pound Sterling","rate_float":30595.1794},"EUR":{"code":"EUR","symbol":"€","rate":"35,668.3305","description":"Euro","rate_float":35668.3305}}}
+{"time":{"updated":"Nov 16, 2023 16:43:00 UTC","updatedISO":"2023-11-16T16:43:00+00:00","updateduk":"Nov 16, 2023 at 16:43 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,614.9741","description":"United States Dollar","rate_float":36614.9741},"GBP":{"code":"GBP","symbol":"£","rate":"30,595.1794","description":"British Pound Sterling","rate_float":30595.1794},"EUR":{"code":"EUR","symbol":"€","rate":"35,668.3305","description":"Euro","rate_float":35668.3305}}}
+{"time":{"updated":"Nov 16, 2023 16:43:00 UTC","updatedISO":"2023-11-16T16:43:00+00:00","updateduk":"Nov 16, 2023 at 16:43 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,614.9741","description":"United States Dollar","rate_float":36614.9741},"GBP":{"code":"GBP","symbol":"£","rate":"30,595.1794","description":"British Pound Sterling","rate_float":30595.1794},"EUR":{"code":"EUR","symbol":"€","rate":"35,668.3305","description":"Euro","rate_float":35668.3305}}}
+{"time":{"updated":"Nov 16, 2023 16:43:00 UTC","updatedISO":"2023-11-16T16:43:00+00:00","updateduk":"Nov 16, 2023 at 16:43 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,614.9741","description":"United States Dollar","rate_float":36614.9741},"GBP":{"code":"GBP","symbol":"£","rate":"30,595.1794","description":"British Pound Sterling","rate_float":30595.1794},"EUR":{"code":"EUR","symbol":"€","rate":"35,668.3305","description":"Euro","rate_float":35668.3305}}}
+{"time":{"updated":"Nov 16, 2023 16:43:00 UTC","updatedISO":"2023-11-16T16:43:00+00:00","updateduk":"Nov 16, 2023 at 16:43 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,614.9741","description":"United States Dollar","rate_float":36614.9741},"GBP":{"code":"GBP","symbol":"£","rate":"30,595.1794","description":"British Pound Sterling","rate_float":30595.1794},"EUR":{"code":"EUR","symbol":"€","rate":"35,668.3305","description":"Euro","rate_float":35668.3305}}}
+{"time":{"updated":"Nov 16, 2023 16:44:00 UTC","updatedISO":"2023-11-16T16:44:00+00:00","updateduk":"Nov 16, 2023 at 16:44 GMT"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","chartName":"Bitcoin","bpi":{"USD":{"code":"USD","symbol":"$","rate":"36,564.4581","description":"United States Dollar","rate_float":36564.4581},"GBP":{"code":"GBP","symbol":"£","rate":"30,552.9686","description":"British Pound Sterling","rate_float":30552.9686},"EUR":{"code":"EUR","symbol":"€","rate":"35,619.1206","description":"Euro","rate_float":35619.1206}}}
diff --git a/Exam/Exam/data/data.json b/Exam/Exam/data/data.json
new file mode 100644
index 0000000..e69de29