public ExchangeRateResponse GetExchangeRateInformation(ExchangeRateRequest exchangeRateRequest)
        {
            var exchangeRateResponse = new ExchangeRateResponse();

            try
            {
                exchangeRateResponse = ValidateInput(exchangeRateRequest, exchangeRateResponse);
                if (exchangeRateResponse.Error == null)
                {
                    var exchangerateinput = new ExchangeRateInput
                    {
                        BaseCurrency   = exchangeRateRequest.BaseCurrency,
                        TargetCurrency = exchangeRateRequest.TargetCurrency,
                        Dates          = exchangeRateRequest.Dates
                    };
                    var result = _exchangeRateManager.GetExchangeRateInformation(exchangerateinput);
                    if (result.Error == null)
                    {
                        exchangeRateResponse.MinRate     = result.MinRate;
                        exchangeRateResponse.MaxRate     = result.MaxRate;
                        exchangeRateResponse.AverageRate = result.AverageRate;
                    }
                    else
                    {
                        exchangeRateResponse.Error = new ErrorResponse
                        {
                            ErrorCode    = result.Error.ErrorCode,
                            ErrorMessage = result.Error.ErrorMessage
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                exchangeRateResponse.Error = new ErrorResponse
                {
                    ErrorCode    = HttpStatusCode.InternalServerError,
                    ErrorMessage = ex.Message
                };
            }
            return(exchangeRateResponse);
        }