public ActionResult CurrencyRates(int?id) { if (id == null) { return(NotFound()); } string referenceCurrency = "USD"; var currencyRates = _context.CurrenciesRates .Where(m => m.CurrencyId == id && m.ReferenceCurrency.Code == referenceCurrency) .Include(o => o.Currency); var referenceCurrencies = _context.Currencies .Select(m => m.Code).OrderBy(o => o); if (currencyRates == null) { return(NotFound()); } CurrencyRatesVM ratesVM = new CurrencyRatesVM(); ratesVM.CurrencyId = id ?? 0; ratesVM.Rates = currencyRates.Select(o => new DateRate() { Date = o.Date, Rate = o.Rate }).OrderByDescending(o => o.Date).ToList(); ratesVM.CurrenciesCodes = referenceCurrencies.ToList(); ratesVM.ReferenceCurrency = referenceCurrency; ratesVM.Currency = currencyRates.First().Currency.Code; return(View(ratesVM)); }
public ActionResult CurrencyRatesPost(CurrencyRatesVM ratesVM) { if (string.IsNullOrWhiteSpace(ratesVM.ReferenceCurrency)) { ratesVM.ReferenceCurrency = "USD"; } var currencyRates = _context.CurrenciesRates .Where(m => m.Currency.Code == ratesVM.Currency && m.ReferenceCurrency.Code == ratesVM.ReferenceCurrency) .Include(o => o.Currency); ratesVM.Rates = currencyRates.Select(o => new DateRate() { Date = o.Date, Rate = o.Rate }).OrderByDescending(o => o.Date).ToList(); return(Json(new { rates = ratesVM.Rates, currency = ratesVM.Currency, referencecurrency = ratesVM.ReferenceCurrency })); }