public void SetNewRequest(string requestMessage) { var requestDetails = requestMessage.Split(' '); IExchangeRateRequest inputRequest = Factory.CreateExchangeRequest(); if (requestDetails.Length == 4) { inputRequest.Currency = requestDetails[2]; inputRequest.Date = DateTime.ParseExact( requestDetails[3], "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture ); inputRequest.Country = "UA"; Request = inputRequest; } else { inputRequest.Currency = requestDetails[2]; inputRequest.Date = DateTime.ParseExact( requestDetails[3], "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture ); inputRequest.Country = requestDetails[4]; Request = inputRequest; } }
public async Task <IExchangeRate> ExecuteAsync(IExchangeRateRequest request) { string url = $"https://www.nbrb.by/api/exrates/rates/{ request.Currency }?parammode=2&ondate={ request.Date.Year }-{ request.Date.Month }-{request.Date.Day}"; var exchangeRateBY = await ApiHandler.GetAsync <ExchangeRateBY>(url); return(exchangeRateBY); }
public async Task <IExchangeRate> ExecuteAsync(IExchangeRateRequest request) { string url = $"https://api.privatbank.ua/p24api/exchange_rates?json&date={ request.Date.Day }.{ request.Date.Month }.{ request.Date.Year }"; var resultExchangeRatesUA = await ApiHandler.GetAsync <ExchangeRateUAResults>(url); var resultExchangeRateUA = resultExchangeRatesUA.ExchangeRate.Where(x => x.GetTargetCurrency() == request.Currency).FirstOrDefault(); return(resultExchangeRateUA); }