Esempio n. 1
0
        public async Task <Stream> ParseCsvAsync(string csvUri, OutputFormats outputFormat)
        {
            try
            {
                IReader csvReader = await CsvReaderService.GetCsvReaderAsync(csvUri);

                if (csvReader != null)
                {
                    IAsyncEnumerable <ParsedCsvRow> filteredRows = CsvFilterService.FilterCsvOnSumAsync(csvReader);

                    ICsvPrinterService CsvPrinter = Printers[outputFormat];

                    Stream outputStream = await CsvPrinter.PrintCsvAsync(filteredRows);

                    csvReader.Dispose();

                    return(outputStream);
                }

                return(null);
            }
            catch (Exception e)
            {
                Logger.LogError($"Error: {e.Message}");

                return(null);
            }
        }