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")); }
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); }