diff options
Diffstat (limited to 'RhSolutions.SkuParser.Api/Services/CsvParser.cs')
-rw-r--r-- | RhSolutions.SkuParser.Api/Services/CsvParser.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/RhSolutions.SkuParser.Api/Services/CsvParser.cs b/RhSolutions.SkuParser.Api/Services/CsvParser.cs new file mode 100644 index 0000000..436a949 --- /dev/null +++ b/RhSolutions.SkuParser.Api/Services/CsvParser.cs @@ -0,0 +1,24 @@ +using System.Globalization; +using CsvHelper; +using CsvHelper.Configuration; +using RhSolutions.SkuParser.Models; + +namespace RhSolutions.SkuParser.Services; + +/// <summary> +/// Парсер артикулов и их количества из файлов *.csv +/// </summary> +public class CsvParser : ISkuParser +{ + public IEnumerable<ProductQuantity> ParseProducts(IFormFile file) + { + using StreamReader reader = new(file.OpenReadStream()); + var config = new CsvConfiguration(CultureInfo.GetCultureInfo("ru-RU")) + { + HasHeaderRecord = false, + }; + using CsvReader csvReader = new(reader, config); + + return csvReader.GetRecords<ProductQuantity>().ToList(); + } +} |