Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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
            }));
        }