1
0

Fix csv parsing

This commit is contained in:
Serghei Cebotari 2025-01-15 15:20:31 +03:00
parent c1b7be71c9
commit 5439fcfb75
3 changed files with 13 additions and 32 deletions

View File

@ -1,30 +0,0 @@
using CsvHelper.Configuration.Attributes;
namespace RhSolutions.SkuParser.Models;
public class ProductQuantity
{
[Index(0)]
public required Product Product { get; set; }
[Index(1)]
public required double Quantity { get; set; }
public override bool Equals(object? obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
ProductQuantity other = (ProductQuantity)obj;
return Product == other.Product &&
Quantity == other.Quantity;
}
public override int GetHashCode()
{
HashCode hash = new();
hash.Add(Product);
hash.Add(Quantity);
return hash.ToHashCode();
}
}

View File

@ -0,0 +1,11 @@
using CsvHelper.Configuration.Attributes;
namespace RhSolutions.SkuParser.Models;
public record SkuQuantity
{
[Index(0)]
public required string Sku { get; set; }
[Index(1)]
public required double Quantity { get; set; }
}

View File

@ -20,7 +20,7 @@ public class CommonCsvParser : ISkuParser
}; };
using CsvReader csvReader = new(reader, config); using CsvReader csvReader = new(reader, config);
return csvReader.GetRecords<ProductQuantity>() return csvReader.GetRecords<SkuQuantity>()
.ToDictionary(pq => new Product() { Sku = pq.Product.Sku }, pq => pq.Quantity); .ToDictionary(pq => new Product() { Sku = pq.Sku }, pq => pq.Quantity);
} }
} }