ASP.NET ile Döviz Kurlarını Çekme
27.07.2005
Okuyucu : 4.277
Günlük Okuyucu : 4,2
Okuyucu : 4.277
Günlük Okuyucu : 4,2
Kod basit bir şekilde TCMB' den dolari euro vs. gibi kurları çekiyor. 12 saatlik cache e alıyor ve her 12 saatte bir tekrar bağlanıp güncelliyor. ASP.NET için yazılmıştır, Windows uygulamaları cache opsiyonunu değiştirmelidir.
ENUMlar gibi bazı kısımları Döviz Kurları XML Web Servisi makalesinden çaldım. Gayet kullanışlı bir class oldu. Şu şekilde kullanılabilir.
Class' ın içerisinde ToDouble yapmamış string bırakmışım artık onu düzeltirsiniz.
Dim Currency As New Currency(Currency.CurCode.USD)
CurrencyVal = Convert.ToDouble(Currency.GetCurrency().Trim)
Kaynak Kodunu Download Edin (Download Source Code);
/opensource/source-code/currency.txt
Kaynak Kod;
1 : <%
2 : Imports System.Xml
3 : Imports System.Web
5 : Public Class Currency
7 : #Region "Config - Conts"
8 : Public Const XMLURL As String = "http://www.tcmb.gov.tr/kurlar/today.xml"
9 : Private Const STR_TCMBXML As String = "TCMBXML"
10 : #End Region
12 : #Region "Enums"
13 : Public Enum CurCode As Byte
14 : USD = 1
15 : EUR = 2
16 : CAD
17 : DKK
18 : SEK
19 : NOK
20 : CHF
21 : JPY
22 : SAR
23 : KWD
24 : AUD
25 : GBP
26 : IRR
27 : SYP
28 : JOG
29 : BGL
30 : ROL
31 : ILS
32 : End Enum
34 : Public Enum CurType As Byte
35 : ForexBuying 'Döviz alis
36 : ForexSelling 'Döviz satis
37 : BanknoteBuying 'Efektif alis
38 : BanknoteSelling 'Efektif satis
39 : End Enum
41 : #End Region
43 : #Region "Fields"
44 : 'Get Current Instance
45 : Private HTTP As HttpContext = HttpContext.Current
46 : Private CurXML As XmlDocument
48 : Private _CurrencyCode As CurCode
49 : Private _CurrencyType As CurType
50 : Private _XMLLoaded As Boolean
52 : Public Property XMLLoaded() As Boolean
53 : Get
54 : Return _XMLLoaded
55 : End Get
56 : Set(ByVal Value As Boolean)
57 : _XMLLoaded = Value
58 : End Set
59 : End Property
61 : Public Property CurrencyCode() As CurCode
62 : Get
63 : Return _CurrencyCode
64 : End Get
65 : Set(ByVal Value As CurCode)
66 : _CurrencyCode = Value
67 : End Set
68 : End Property
70 : Public Property CurrencyType() As CurType
71 : Get
72 : Return _CurrencyType
73 : End Get
74 : Set(ByVal Value As CurType)
75 : _CurrencyType = Value
76 : End Set
77 : End Property
79 : #End Region
81 : #Region "Constructors"
82 : Public Sub New()
84 : End Sub
86 : Public Sub New(ByVal CurrencyCode As CurCode, Optional ByVal CurrencyType As CurType = CurType.ForexSelling)
87 : Me.New()
88 : Me.CurrencyCode = CurrencyCode
89 : Me.CurrencyType = CurrencyType
90 : End Sub
92 : #End Region
94 : #Region "Methods"
96 : Public Function LoadXML() As Boolean
98 : If Not XMLLoaded Then
99 : CurXML = New XmlDocument
101 : 'Not Cached
102 : If HTTP.Cache.Item(STR_TCMBXML) Is Nothing Then
103 : Try
104 : CurXML.Load(XMLURL)
106 : HTTP.Cache.Add(STR_TCMBXML, CurXML, Nothing, DateTime.MaxValue, TimeSpan.FromHours(12), Caching.CacheItemPriority.Default, Nothing)
107 : XMLLoaded = True
109 : Catch ex As Net.WebException
110 : XMLLoaded = False
112 : End Try
115 : Else 'Cached
116 : CurXML = CType(HTTP.Cache.Item(STR_TCMBXML), XmlDocument)
117 : XMLLoaded = True
119 : End If
121 : End If
123 : Return XMLLoaded
125 : End Function
127 : Public Function GetCurrency() As String
129 : 'Return empty if can not loaded !
130 : If Not LoadXML() Then Return String.Empty
132 : 'Get Node
133 : Dim CurNode As XmlNode = CurXML.SelectSingleNode("/Tarih_Date/Currency[@Kod ='" & Me.CurrencyCode.ToString & "']/" & Me.CurrencyType.ToString)
135 : Return CurNode.InnerText
137 : End Function
139 : #End Region
141 : End Class
142 : %>

Yorumlar
Aşağıdaki form aracılığı ile yorumlarınızı ve fikirlerinizi gönderebilirsiniz. Henüz bu konu hakkında bir yorum yazılmamış.
Yorum Ekle
Diğer Yazılar
ASP.NET ile geliştirme keyfi
ASP.NET Kod Örnekleri
ASP.NET Sayfa Çıktısını Yakalama
ASP.NET' te basit template mantığı
ASP.NET Web Deployment
ASPRunner Güvenlik Açıkları
ASPRunner Multiple Vulnerabilities
ASP-XML Entegrasyonu
Assassin's Creed
aSSL - Ajax ile SSL
Astalavista.box.sk yı kim blokladı ?
ATLAS, Sakat Aktivite İzleyici
ATM Programlama
Atom 2 RSS, Atom XML Feed tan RSS' e
Attack API
Attribute-Based XSS, ermm...
ATV nin SSL (olmayan) satışı
Autoruns Artık daha Seksi
Ay Ne Şirin Güvenlik Açığı
Neredeyim ?
Ferruh.Mavituna » Kod Parçaları (Code Snippets) » ASP.NET ile Döviz Kurlarını Çekme