/// <summary> /// This method is to execute current date currency conversion /// </summary> /// <returns></returns> public async Task CurrencyConversion() { CurrencyBase curBase = new CurrencyBase(); Console.Clear(); Console.BackgroundColor = ConsoleColor.DarkBlue; Console.WriteLine("-------------------------Fetch latest currency data-----------------"); Console.ResetColor(); string inputBaseCurrencyMessage = "Please enter base currency data in 3 character ISO format[Example:'EUR']"; curBase.BaseCurrency = GetCurrencyCode(inputBaseCurrencyMessage); string baseCurrencyMessage = "Please enter amount in {0}:" + curBase.BaseCurrency; curBase.BaseAmount = ReadDouble(baseCurrencyMessage); string inputConvertedCurrencyMessage = "Please enter converted currency data in 3 character ISO format[Example:'EUR']"; curBase.ConvertCurrency = GetCurrencyCode(inputConvertedCurrencyMessage); APIResponse aPIResponse = await _aPIInteraction.GetCurrencyConversionData(curBase, _configuration.GetValue <string>("URL"), _configuration.GetValue <string>("AccessKey")); ProcessCurrencyCalculationResponse(aPIResponse, curBase); }
/// <summary> /// This method is to fetch latest rates /// </summary> /// <param name="baseCur"></param> /// <param name="toCur"></param> /// <param name="baseAmount"></param> /// <returns></returns> public async Task <ExchangeAPIResponse> GetLatestConversion(string baseCur, string toCur, string baseAmount) { ExchangeAPIResponse exchangeResponse = new ExchangeAPIResponse(); CurrencyBase currencyBase = new CurrencyBase(); currencyBase.BaseAmount = _calculationHelper.CheckIfDouble(baseAmount); if (!double.IsNaN(currencyBase.BaseAmount)) { currencyBase.BaseCurrency = baseCur; currencyBase.ConvertCurrency = toCur; APIResponse aPIResponse = await _aPIInteraction.GetCurrencyConversionData(currencyBase, _configuration.GetValue <string>("URL"), _configuration.GetValue <string>("AccessKey")); return(SendLatestRatesResponse(aPIResponse, currencyBase)); } else { exchangeResponse.IsSuccess = false; exchangeResponse.Description = "Base Amount is not a valid number"; exchangeResponse.StatusCode = HttpStatusCode.BadRequest; return(exchangeResponse); } }