Beispiel #1
0
        public async Task StartModule(IStorageClient storageClient)
        {
            _storageClient = storageClient;
            _apiClient     = new HttpClient {
                BaseAddress = new Uri(BaseAddress)
            };
            _apiClient.DefaultRequestHeaders.Accept.Clear();
            _apiClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // Get the first date we should query against
            DateTime date = storageClient.GetLatestDateFolderInStorage();

            while (date <= DateTime.Today.Date)
            {
                var response =
                    await _apiClient.GetAsync(
                        string.Format("/svc/movies/v2/reviews/search.json?opening-date={0}-{1}-{2}&api-key={3}",
                                      date.Year, date.Month < 10 ? string.Format("0{0}", date.Month) : Convert.ToString(date.Month),
                                      date.Day < 10 ? string.Format("0{0}", date.Day) : Convert.ToString(date.Day), APIKey));

                if (response.IsSuccessStatusCode)
                {
                    string jsonBody = await response.Content.ReadAsStringAsync();

                    await storageClient.WriteFileToStorageAsync(jsonBody, date.Date, FileType.Json);
                }
                date = date.AddDays(1);
            }
        }