blob: 549b6c5f6845f9ef08da7a60c22cc9548950983b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using System.Globalization;
using CsvHelper;
using CsvHelper.Configuration;
using RhSolutions.SkuParser.Abstractions;
using RhSolutions.SkuParser.Models;
namespace RhSolutions.SkuParser.Services;
/// <summary>
/// Парсер артикулов и их количества из файлов *.csv
/// </summary>
public class CommonCsvParser : ISkuParser
{
private readonly ILogger<CommonCsvParser> logger;
public CommonCsvParser(ILogger<CommonCsvParser> logger)
{
this.logger = logger;
}
public Dictionary<Product, double> 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<SkuQuantity>()
.ToDictionary(pq => new Product() { Sku = pq.Sku }, pq => pq.Quantity);
}
}
|