private static string DownloadFile(FileType fileType, ILogger logger)
        {
            string downloadFilename = CreateDownloadFilename(fileType);

            if (!string.IsNullOrEmpty(downloadFilename))
            {
                using var webClient = new WebClient();
                var compressionService = new CompressionServiceImpl();

                try
                {
                    logger.LogInformation($"TMDBDailyFileExportDownloader downloading file \"{downloadFilename}\" started at: {DateTime.Now}");
                    byte[] fileData = webClient.DownloadData(downloadFilename);
                    logger.LogInformation($"TMDBDailyFileExportDownloader downloading file \"{downloadFilename}\" successfully finished at: {DateTime.Now}");

                    return(compressionService.DecompressToJson(fileData));
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, $"error on downloading \"{downloadFilename}\"");
                }
            }

            return(string.Empty);
        }
Esempio n. 2
0
        private static void CreateRandomizedJSONCollection(TMDBSnapshot tmdbSnapshot, ILogger logger)
        {
            logger.LogInformation($"DataCollector creating json collection started at: {DateTime.Now}");
            RandomizedJSONSnapshot jsonSnapshot = CreateRandomizedCollection(tmdbSnapshot);
            string json = JsonConvert.SerializeObject(jsonSnapshot);
            var    compressionService = new CompressionServiceImpl();
            string compressedJsonData = compressionService.CompressJSONAsBase64(json);

            tmdbSnapshot.CompressedBase64JSONData = compressedJsonData;
            logger.LogInformation($"DataCollector creating json collection finished at: {DateTime.Now}");
        }
        private static void WriteDailyDownloadsIntoDatabase(List <DailyDownloadCollection> dailyDownloadCollections, List <DailyDownloadNetwork> dailyDownloadNetworks,
                                                            List <DailyDownloadKeyword> dailyDownloadKeywords, ILogger logger)
        {
            logger.LogInformation($"TMDBDailyFileExportDownloader writing daily downloads into database started at: {DateTime.Now}");

            string dailyDownloadCollectionsJSON = string.Empty;
            string dailyDownloadNetworksJSON    = string.Empty;
            string dailyDownloadKeywordsJSON    = string.Empty;

            var compressionService = new CompressionServiceImpl();

            if (dailyDownloadCollections != null)
            {
                string json = JsonConvert.SerializeObject(dailyDownloadCollections);
                dailyDownloadCollectionsJSON = compressionService.CompressJSONAsBase64(json);
            }

            if (dailyDownloadNetworks != null)
            {
                string json = JsonConvert.SerializeObject(dailyDownloadNetworks);
                dailyDownloadNetworksJSON = compressionService.CompressJSONAsBase64(json);
            }

            if (dailyDownloadKeywords != null)
            {
                string json = JsonConvert.SerializeObject(dailyDownloadKeywords);
                dailyDownloadKeywordsJSON = compressionService.CompressJSONAsBase64(json);
            }

            if (!string.IsNullOrEmpty(dailyDownloadCollectionsJSON) && !string.IsNullOrEmpty(dailyDownloadNetworksJSON) && !string.IsNullOrEmpty(dailyDownloadKeywordsJSON))
            {
                using var databaseService = new DatabaseServiceImpl(_databaseConnection);
                databaseService.WriteDailyDownloadsIntoDatabase(dailyDownloadCollectionsJSON, dailyDownloadNetworksJSON, dailyDownloadKeywordsJSON);
            }

            logger.LogInformation($"TMDBDailyFileExportDownloader writing daily downloads into database finished at: {DateTime.Now}");
        }