예제 #1
0
        public async Task ProcessStream(Stream csvStream, ElectionResultsFile file)
        {
            var csvContent = await ReadCsvContent(csvStream);

            var aggregationResult = await _statisticsAggregator.RetrieveElectionData(csvContent, file);

            if (aggregationResult.IsSuccess)
            {
                var electionStatistics = FileNameParser.BuildElectionStatistics(file, aggregationResult.Value);
                Log.LogInformation($"Inserting results from {file.Name} with timestamp {electionStatistics.Timestamp}");
                await _resultsRepository.InsertResults(electionStatistics);
            }
        }
예제 #2
0
        public async Task ProcessStream(Stream csvStream, string fileName)
        {
            var csvContent = await ReadCsvContent(csvStream);

            var aggregationResult = await _statisticsAggregator.RetrieveElectionData(csvContent);

            if (aggregationResult.IsSuccess)
            {
                var electionStatistics = FileNameParser.BuildElectionStatistics(fileName, aggregationResult.Value);
                Console.WriteLine($"Uploading file {fileName} with timestamp {electionStatistics.FileTimestamp}");
                await _resultsRepository.InsertResults(electionStatistics);
            }
        }
예제 #3
0
        public async Task ProcessStream(Stream csvStream, string fileName)
        {
            Config.Candidates = await _electionConfigurationSource.GetListOfCandidates();

            var csvContent = await ReadCsvContent(csvStream);

            var aggregationResult = await _statisticsAggregator.RetrieveElectionData(csvContent);

            if (aggregationResult.IsSuccess)
            {
                var electionStatistics = FileNameParser.BuildElectionStatistics(fileName, aggregationResult.Value);
                await _resultsRepository.InsertResults(electionStatistics);
            }
        }
예제 #4
0
        public async Task ProcessStream(Stream csvStream, string fileName)
        {
            _logger.LogInformation($"Processing csv with stream of {csvStream.Length} bytes");
            var csvContent = await ReadCsvContent(csvStream);

            var aggregationResult = await _statisticsAggregator.RetrieveElectionData(csvContent);

            if (aggregationResult.IsSuccess)
            {
                var electionStatistics = FileNameParser.BuildElectionStatistics(fileName, aggregationResult.Value);
                _logger.LogInformation($"Inserting results from {fileName} with timestamp {electionStatistics.Timestamp}");

                await _resultsRepository.InsertResults(electionStatistics);
            }
        }