1
0

Compare commits

..

2 Commits

Author SHA1 Message Date
5439fcfb75 Fix csv parsing 2025-01-15 15:20:31 +03:00
c1b7be71c9 Fix values duplicate on multiple files 2025-01-15 15:20:16 +03:00
4 changed files with 13 additions and 34 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

@ -8,13 +8,11 @@ namespace RhSolutions.SkuParser.Api.Services;
public class BsExcelParser : ISkuParser public class BsExcelParser : ISkuParser
{ {
private IConfiguration configuration; private IConfiguration configuration;
// private Dictionary<Product, double> result;
private const int rowsLookupCount = 20; private const int rowsLookupCount = 20;
private const decimal vat = 1.2M; private const decimal vat = 1.2M;
public BsExcelParser(IConfiguration configuration) public BsExcelParser(IConfiguration configuration)
{ {
this.configuration = configuration; this.configuration = configuration;
// result = new();
} }
public Dictionary<Product, double> ParseProducts(IFormFile file) public Dictionary<Product, double> ParseProducts(IFormFile file)

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