Exemplo n.º 1
0
        public FileStreamsPackageDto GetCovidStatisticsFilesPackage()
        {
            var package = new FileStreamsPackageDto();

            var today = _dateTimeResolver.GetDateToday();

            var hospitalFile    = _fetchCovidStatisticsService.FetchHospitalNumbersFromDate(today);
            var hospitalNumbers = new CsvFileDto {
                File = hospitalFile, Name = CovidStatisticsFileName.Hospital
            };

            package.Files.Add(hospitalNumbers);

            var vaccineFile    = _fetchCovidStatisticsService.FetchVaccineNumbersFromDate(today);
            var vaccineNumbers = new CsvFileDto {
                File = vaccineFile, Name = CovidStatisticsFileName.Vaccination
            };

            package.Files.Add(vaccineNumbers);

            var testFile    = _fetchCovidStatisticsService.FetchTestNumbersFromDate(today);
            var testNumbers = new CsvFileDto {
                File = testFile, Name = CovidStatisticsFileName.Test
            };

            package.Files.Add(testNumbers);

            var timeLocationFile    = _fetchCovidStatisticsService.FetchConfirmedCasesTodayNumbersFromDate(today);
            var timeLocationNumbers = new CsvFileDto
            {
                File = timeLocationFile, Name = CovidStatisticsFileName.ConfirmedToday
            };

            package.Files.Add(timeLocationNumbers);

            var locationFile    = _fetchCovidStatisticsService.FetchConfirmedCasesTotalNumbersFromDate(today);
            var locationNumbers = new CsvFileDto {
                File = locationFile, Name = CovidStatisticsFileName.ConfirmedTotal
            };

            package.Files.Add(locationNumbers);

            var deathByTimeFile   = _fetchCovidStatisticsService.FetchDeathsCasesTotalNumbersFromDate(today);
            var totalDeathNumbers = new CsvFileDto {
                File = deathByTimeFile, Name = CovidStatisticsFileName.DeathsTotal
            };

            package.Files.Add(totalDeathNumbers);

            return(package);
        }
        public CovidStatisticsCsvContent ParsePackage(FileStreamsPackageDto package)
        {
            var parsedPackage = new CovidStatisticsCsvContent();

            var hospitalFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.Hospital);
            var hospitalFileContent = RetrieveDataFromCsvFile(hospitalFile, new HospitalMap());

            parsedPackage.AddFileContent(hospitalFileContent);

            var testedFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.Test);
            var testedFileContent = RetrieveDataFromCsvFile(testedFile, new TestedMap());

            parsedPackage.AddFileContent(testedFileContent);

            var vaccinationFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.Vaccination);
            var vaccinationFileContent = RetrieveDataFromCsvFile(vaccinationFile, new VaccinationMap());

            parsedPackage.AddFileContent(vaccinationFileContent);

            var confirmedTodayFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.ConfirmedToday);
            var confirmedTodayFileContent = RetrieveDataFromCsvFile(confirmedTodayFile, new ConfirmedCasesTodayMap());

            parsedPackage.AddFileContent(confirmedTodayFileContent);

            var confirmedTotalFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.ConfirmedTotal);
            var confirmedTotalFileContent = RetrieveDataFromCsvFile(confirmedTotalFile, new ConfirmedCasesTotalMap());

            parsedPackage.AddFileContent(confirmedTotalFileContent);

            var deathTotalFile        = GetFileOrThrow(package.Files, CovidStatisticsFileName.DeathsTotal);
            var deathTotalFileContent = RetrieveDataFromCsvFile(deathTotalFile, new DeathsCasesTotalMap());

            parsedPackage.AddFileContent(deathTotalFileContent);

            return(parsedPackage);
        }