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); }
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(); }
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); }