Example #1
0
        public async Task <IList <Rate> > GetRateAsync(string symbol, DateTime startDate, DateTime endDate)
        {
            IList <Rate> chooseList = new List <Rate>();

            chooseList = dbService.FindRate(symbol, startDate, endDate);

            if (chooseList == null)
            {
                string table = dbService.FindTableCode(symbol);

                var apiResponse = await request.GetRequestAsync(
                    url.GetNbpRatesRequest(table.ToLower(), symbol.ToLower(), startDate, endDate),
                    format : "?format=json");


                string       path;
                IList <Rate> rateList = new List <Rate>();


                path = apiResponse.responseData;

                rateList = DbMapper.MapObject(path);

                foreach (Rate element in rateList)
                {
                    Console.WriteLine(element.Price);
                    dbService.AddRate(element);
                }

                return(rateList);
            }

            return(chooseList);
        }