private CurrencyRateList FromCsv(string header, string csvLine)
        {
            string[]         headerValues = header.Split(',');
            string[]         values       = csvLine.Split(',');
            CurrencyRateList dailyValues  = new CurrencyRateList();

            dailyValues.Time             = Convert.ToDateTime(values[0]);
            dailyValues.ListCurrencyRate = new List <CurrencyRate>();

            for (int i = 1; i < headerValues.Count() - 1; i++)
            {
                var currencyRate = new CurrencyRate
                {
                    Currency = headerValues[i]
                };

                if (values[i] != "N/A")
                {
                    var value = values[i].Replace('.', ',');
                    currencyRate.Rate = Convert.ToDecimal(value);
                }
                else
                {
                    currencyRate.Rate = 0;
                }

                dailyValues.ListCurrencyRate.Add(currencyRate);
            }
            return(dailyValues);
        }
        public ActionResult RecalculateRates(DateTime data)
        {
            var service = new LbDataReaderService();
            var rates   = service.ReadRatesForDate(data);
            var rates2  = service.ReadRatesForDate(data.AddDays(-1));

            var rateRez = new CurrencyRateList {
                Items = new List <CurrencyRateItem>()
            };


            rates.item.ForEach(item =>
            {
                var item2 = rates2.item.FirstOrDefault(x => x.currency.Equals(item.currency));
                if (item2 != null)
                {
                    rateRez.Items.Add(new CurrencyRateItem
                    {
                        Name         = item.currency,
                        ChangeOfRate = item.rate - item2.rate
                    });
                }
            });

            rateRez.Items = rateRez.Items.OrderByDescending(x => x.ChangeOfRate).ToList();

            ViewBag.rates = rateRez.Items;
            ViewBag.date  = data.ToShortDateString();

            return(View("Index"));
        }
Beispiel #3
0
        private double GetRate(string firstCurrency, string secondCurrency)
        {
            string           rates     = GetRates(firstCurrency, secondCurrency);
            CurrencyRateList ratesList = JsonSerializer.Deserialize <CurrencyRateList>(rates);
            double           rate      = ratesList.rates[secondCurrency];

            return(rate);
        }