Esempio n. 1
0
        public App.SmitteStop.Domain.Db.CovidStatistics ProcessData(CovidStatisticsCsvContent csvContent)
        {
            var statistics = _covidStatisticsBuilder.BuildStatistics(csvContent);

            _covidStatisticsRepository.CreateEntry(statistics);
            return(statistics);
        }
        public App.SmitteStop.Domain.Db.CovidStatistics BuildStatistics(CovidStatisticsCsvContent inputData)
        {
            _inputData  = inputData;
            _statistics = new App.SmitteStop.Domain.Db.CovidStatistics
            {
                ConfirmedCasesToday = CalculateConfirmedToday(),
                ConfirmedCasesTotal = CalculateConfirmedTotal(),

                TestsConductedToday = CalculateTestedToday(),
                TestsConductedTotal = CalculateTestedTotal(),

                PatientsAdmittedToday = CalculateAdmittedToday(),
                PatientsAdmittedTotal = CalculateAdmittedTotal(),
                IcuAdmittedToday      = CalculateIcuAdmittedToday(),
                IcuAdmittedTotal      = CalculateIcuAdmittedTotal(),

                VaccinatedFirstDoseTotal  = CalculateVaccinatedFirstDoseTotal(),
                VaccinatedFirstDoseToday  = CalculateVaccinatedFirstDoseToday(),
                VaccinatedSecondDoseTotal = CalculateVaccinatedSecondDoseTotal(),
                VaccinatedSecondDoseToday = CalculateVaccinatedSecondDoseToday(),

                DeathsCasesTotal = DeathsCasesTotal(),

                ModificationDate = DateTime.UtcNow,
                EntryDate        = _dateTimeResolver.GetDateTime().Date,
            };

            return(_statistics);
        }
Esempio n. 3
0
        private void BuildSampleCsvContentFromSampleFilesAndCorrespondingStatisticsEntry()
        {
            _sampleCsvContent = new CovidStatisticsCsvContent();

            _sampleCsvContent.AddFileContent(_sampleTestedCsvContent);
            _sampleCsvContent.AddFileContent(_sampleHospitalCsvContent);
            _sampleCsvContent.AddFileContent(_sampleVaccinatedCsvContent);
            _sampleCsvContent.AddFileContent(_sampleConfirmedCasesTodayCsvContent);
            _sampleCsvContent.AddFileContent(_sampleConfirmedCasesTotalCsvContent);
            _sampleCsvContent.AddFileContent(_sampleDeathcsCasesTotalCsvContent);

            BuildStatisticsEntryFromSampleCsvContent();
        }
Esempio n. 4
0
        public void BuildStatistics_FileMissing_ShouldThrowAppropriateException()
        {
            // Arrange
            _sampleCsvContent = new CovidStatisticsCsvContent();
            _sampleCsvContent.AddFileContent(_sampleConfirmedCasesTodayCsvContent);
            _sampleCsvContent.AddFileContent(_sampleConfirmedCasesTotalCsvContent);
            _sampleCsvContent.AddFileContent(_sampleTestedCsvContent);
            var covidStatisticsBuilder = CreateCovidStatisticsBuilder();

            // Act

            // Assert
            Assert.Throws <CovidStatisticsCsvDataPartiallyMissingException>(() => covidStatisticsBuilder.BuildStatistics(_sampleCsvContent));
        }
        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);
        }