Esempio n. 1
0
        public void Test2()
        {
            var parentXml = new TcmbXmlParent()
            {
                Tarih      = "10.10.2020",
                Date       = "10.10.2020",
                Currencies = new[]
                {
                    new TcmbXmlChild()
                    {
                        ForexSelling    = "",
                        ForexBuying     = "",
                        BanknoteBuying  = "",
                        BanknoteSelling = "",
                        CrossRateOther  = "",
                        CrossRateUSD    = "",
                    },
                }
            };

            TcmbCurrencyData result = CustomMapper.Map(parentXml).First();

            Assert.Equal(new DateTime(2020, 10, 10), result.Tarih);
            Assert.Equal(new DateTime(2020, 10, 10), result.Date);

            Assert.Null(result.ForexSelling);
            Assert.Null(result.ForexBuying);
            Assert.Null(result.BanknoteBuying);
            Assert.Null(result.BanknoteSelling);
            Assert.Null(result.CrossRateOther);
            Assert.Null(result.CrossRateUsd);
        }
Esempio n. 2
0
        public static List <TcmbCurrencyData> Map(TcmbXmlParent tcmbXmlParent)
        {
            var result = new List <TcmbCurrencyData>();

            foreach (TcmbXmlChild tcmbXmlChild in tcmbXmlParent.Currencies)
            {
                TcmbCurrencyData tcmbCurrencyData = new TcmbCurrencyData()
                {
                    Tarih    = DateTime.ParseExact(tcmbXmlParent.Tarih, "dd/MM/yyyy", new CultureInfo("tr-TR")),
                    Date     = DateTime.ParseExact(tcmbXmlParent.Date, "dd/MM/yyyy", new CultureInfo("tr-TR")),
                    BultenNo = tcmbXmlParent.BultenNo,

                    Kod          = tcmbXmlChild.Kod,
                    CurrencyCode = tcmbXmlChild.CurrencyCode,
                    Unit         = tcmbXmlChild.Unit,

                    CrossOrder          = TryParseInt(tcmbXmlChild.CrossOrder),
                    CurrencyNameTurkish = tcmbXmlChild.CurrencyNameTurkish,
                    CurrencyNameEnglish = tcmbXmlChild.CurrencyNameEnglish,

                    ForexBuying  = TryParseDecimal(tcmbXmlChild.ForexBuying),
                    ForexSelling = TryParseDecimal(tcmbXmlChild.ForexSelling),

                    BanknoteBuying  = TryParseDecimal(tcmbXmlChild.BanknoteBuying),
                    BanknoteSelling = TryParseDecimal(tcmbXmlChild.BanknoteSelling),

                    CrossRateUsd   = TryParseDecimal(tcmbXmlChild.CrossRateUSD),
                    CrossRateOther = TryParseDecimal(tcmbXmlChild.CrossRateOther)
                };

                result.Add(tcmbCurrencyData);
            }

            return(result);
        }
Esempio n. 3
0
        public void Test()
        {
            var parentXml = new TcmbXmlParent()
            {
                Tarih    = "22.11.2020",
                Date     = "22.11.2020",
                BultenNo = "2020/231",

                Currencies = new[]
                {
                    new TcmbXmlChild()
                    {
                        Tarih    = "22.11.2020",
                        Date     = "22.11.2020",
                        BultenNo = "2020/231",

                        CrossOrder   = "1",
                        Kod          = "USD",
                        CurrencyCode = "USD",
                        Unit         = "1",

                        CurrencyNameTurkish = "ABD DOLARI",
                        CurrencyNameEnglish = "US DOLLAR",

                        ForexBuying  = "2.1",
                        ForexSelling = "1.1",

                        BanknoteBuying  = "3.1",
                        BanknoteSelling = "4.1",

                        CrossRateUSD   = "1.99",
                        CrossRateOther = "1.33",
                    },
                }
            };

            TcmbCurrencyData resultTcmbCurrencyData = CustomMapper.Map(parentXml).First();

            Assert.Equal(new DateTime(2020, 11, 22), resultTcmbCurrencyData.Tarih);
            Assert.Equal(new DateTime(2020, 11, 22), resultTcmbCurrencyData.Date);
            Assert.Equal("2020/231", parentXml.BultenNo);

            Assert.Equal(1, resultTcmbCurrencyData.CrossOrder);
            Assert.Equal("USD", resultTcmbCurrencyData.Kod);
            Assert.Equal("USD", resultTcmbCurrencyData.CurrencyCode);
            Assert.Equal("1", resultTcmbCurrencyData.Unit);

            Assert.Equal("ABD DOLARI", resultTcmbCurrencyData.CurrencyNameTurkish);
            Assert.Equal("US DOLLAR", resultTcmbCurrencyData.CurrencyNameEnglish);

            Assert.Equal(2.1M, resultTcmbCurrencyData.ForexBuying);
            Assert.Equal(1.1M, resultTcmbCurrencyData.ForexSelling);

            Assert.Equal(3.1M, resultTcmbCurrencyData.BanknoteBuying);
            Assert.Equal(4.1M, resultTcmbCurrencyData.BanknoteSelling);

            Assert.Equal(1.99M, resultTcmbCurrencyData.CrossRateUsd);
            Assert.Equal(1.33M, resultTcmbCurrencyData.CrossRateOther);
        }
Esempio n. 4
0
        public async Task <List <TcmbCurrencyData> > GetCurrencyData()
        {
            HttpResponseMessage httpResponse = await _odeonDownloader.DownloadCurrencyDataAsync();

            XmlSerializer xmlSerializer = new XmlSerializer(typeof(TcmbXmlParent));
            Stream        stream        = await httpResponse.Content.ReadAsStreamAsync();

            TcmbXmlParent           tcmbXmlParent = (TcmbXmlParent)xmlSerializer.Deserialize(stream);
            List <TcmbCurrencyData> currencies    = CustomMapper.Map(tcmbXmlParent);

            return(currencies);
        }