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