6 Ağustos 2007 Pazartesi

TCMB üzerinden döviz kurlarını almak ASP.net 2.0

Asp.net 2.0 ile oluşturacağımız yeni projede dil olarak VB seçip default.aspx ve default.aspx.vb isimli dosyalarımızı oluşturuyoruz. Daha sonra default.aspx üzerine label1 ve label2 isimli kontrollerimizi ekliyoruz.
aşağıdaki kodu kod dosyasına kopyalıyoruz. Sonuç olarak c:\doviz.sql isimli dosyaya basit bir insert statement kaydedecektir. istersek scheduler tasks üzerinden bunu database'e insert edebiliriz. bu kod 1.1 için çalışmak üzere yazılmıştır biraz modifiye ettim o kadar.



Imports System
Imports System.IO
Imports System.Text
Partial Class Default2

Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label1.Text += "'USD', '" + Today.Date + "', 1 ," + fnDovizKurlari(1, 1)
+ "," + fnDovizKurlari(1, 2) + " ," + fnDovizKurlari(1, 3) + ","
+ fnDovizKurlari(1, 4) +");"


Label2.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label2.Text += "'EUR', '" + Today.Date + "', 1 ," + fnDovizKurlari(2, 1)
+ "," + fnDovizKurlari(2, 2) + " ," + fnDovizKurlari(2, 3) + ","
+ fnDovizKurlari(2, 4) + '' );"



'Open a file for writing
Dim FILENAME As String = "c:\doviz.sql"

'Get a StreamReader class that can be used to read the file
Dim objStreamWriter As IO.StreamWriter
objStreamWriter = File.CreateText(FILENAME)

'Append the the end of the string, "A user viewed this demo at: "
'followed by the current date and time
objStreamWriter.WriteLine(Label1.Text)
objStreamWriter.WriteLine(Label2.Text)
'eger database icin gorevleyeceksek kullanabiliriz.
'objStreamWriter.WriteLine("Commit;")
'objStreamWriter.WriteLine("exit;")

'Close the stream
objStreamWriter.Close()

End Sub


Public Function fnDovizKurlari(ByVal strDoviz As String, ByVal strBicim As String)
Select Case strBicim
Case "1"
strBicim = "ForexBuying"
Case "2"
strBicim = "ForexSelling"
Case "3"
strBicim = "BanknoteBuying"
Case "4"
strBicim = "BanknoteSelling"
Case Else
strBicim = "ForexBuying"
End Select
Select Case strDoviz
Case "1"
strDoviz = "USD"
Case "2"
strDoviz = "EUR"
Case Else
strDoviz = "EUR"
End Select
Dim xmlOku As New System.Xml.XmlTextReader("http://www.tcmb.gov.tr/kurlar/today.xml")
Dim xmlBelge As New System.Xml.XmlDocument
xmlBelge.Load(xmlOku)
Dim xmlParca As System.Xml.XmlNodeList = xmlBelge.SelectNodes("/Tarih_Date/Currency[@Kod ='" + strDoviz + "']/" + strBicim)
Return xmlParca.Item(0).InnerXml.ToString
End Function

End Class

Hiç yorum yok:

Yorum Gönder