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);
        }
示例#3
0
        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);
        }