MercanSoftYazılım Teknolojileri Günlüğü
04 May 2022

ASP.NET ile Döviz kur bilgilerinin TCMB den alınması

Merhaba bu yazım da sizlere TCMB den doviz kur bilgilerini nasıl alağınızı anlatmaya çalışacağım. Bunu yazmamdaki amaç yazmış olduğm bir uygulamada müşterimin isteği üzerine kur bilgilerini anlık olarak çekip ürün fiyatlarını anlık güncellememi istemesidir.

öncelikle aşağıdaki gibi bir class oluşturuyoruz.

public class KurModels
{
public decimal USD_Alis { get; set; }
public decimal USD_Satis { get; set; }
public decimal EUR_Alis { get; set; }
public decimal EUR_Satis { get; set; }
public decimal GBP_Alis { get; set; }
public decimal GBP_Satis { get; set; }
}

oluşturduktan sonra yine başka bir class oluşturuyoruz


public class KurBilgileri
{
public KurModels Getir()
{
KurModels model = new KurModels();
XmlDocument xmlVerisi = new XmlDocument();
xmlVerisi.Load("https://www.tcmb.gov.tr/kurlar/today.xml");
model.USD_Alis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexBuying", "USD")).InnerText.Replace(',', '.'));
model.USD_Satis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "USD")).InnerText.Replace(',', '.'));
decimal dolar_3 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteBuying", "USD")).InnerText.Replace(',', '.'));
decimal dolar_4 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteSelling", "USD")).InnerText.Replace(',', '.'));
model.EUR_Alis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexBuying", "EUR")).InnerText.Replace(',', '.'));
model.EUR_Satis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "EUR")).InnerText.Replace(',', '.'));
decimal euro_3 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteBuying", "EUR")).InnerText.Replace(',', '.'));
decimal euro_4 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteSelling", "EUR")).InnerText.Replace(',', '.'));
model.GBP_Alis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexBuying", "GBP")).InnerText.Replace(',', '.'));
model.GBP_Satis = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "GBP")).InnerText.Replace(',', '.'));
decimal sterlin_3 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteBuying", "GBP")).InnerText.Replace(',', '.'));
decimal sterlin_4 = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/BanknoteSelling", "GBP")).InnerText.Replace(',', '.'));
return model;
}
}

bu classı da oluşturduktan sonra artık kurbilgilerini çekme classımız hazır olmuş oluyor bundan sonra projemizin herhangibir yerinden

KurBilgileri classını çağırarak anlık olarak kur bilgilerini çekebiliriz.

çekme işlemide şu şekilde olacak


KurBilgileri _kur = new KurBilgileri();  // bu şekilde classımı çağırıyoruz
var model = _kur.Getir(); // classımızın içerisinde tanımladığımız fonksiyonu çağırıp bir neseneye atıyoruz
decimal EUR_Alis = model.EUR_Alis;
decimal  EUR_Satis = model.EUR_Satis;
decimal  GBP_Alis = model.GBP_Alis;
decimal  GBP_Satis = model.GBP_Satis;
decimal  USD_Alis = model.USD_Alis;
decimal USD_Satis = model.USD_Satis;

hepsi bu kadar umarım işinize yarar başka bir yazımda görüşmek üzere yorumlar üzerinden soru sorabilirsiniz elimden geldiğince cevap vermeye çalışacağım.

Algoritmalar • ASP.NET • C#.Net • Yazılımlarım 1 Comment

One comment :

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir