Can guess amount columns with numbers in header

This commit is contained in:
Sergey Chebotar 2023-05-30 08:48:21 +03:00
parent 656f565152
commit f1abb03ac9

View File

@ -47,19 +47,21 @@ public class GuessReader : IReader
}
if (currentIndex > productColumnIndex)
{
if (IsAmountColumn(range.Columns[currentIndex++]))
if (IsAmountColumn(range.Columns[currentIndex]))
{
amountColumnIndex = currentIndex - 1;
amountColumnIndex = currentIndex;
break;
}
else currentIndex++;
}
else
{
if (IsAmountColumn(range.Columns[currentIndex--]))
if (IsAmountColumn(range.Columns[currentIndex]))
{
amountColumnIndex = currentIndex + 1;
amountColumnIndex = currentIndex;
break;
}
else currentIndex--;
}
}
@ -111,6 +113,7 @@ public class GuessReader : IReader
{
int successCounter = 0;
var cells = column.Value2;
double maxValue = 30000;
if (cells == null)
{
@ -125,25 +128,30 @@ public class GuessReader : IReader
continue;
}
double? value = currentCell as double?;
double? value = currentCell as double?;
if (value == null || value == 0)
{
continue;
}
if (value > 30000)
if (value > maxValue)
{
return false;
}
if (++successCounter > 3)
if (column.Rows.Count == 1)
{
return true;
}
if (++successCounter > 1)
{
return true;
}
}
return successCounter > 0;
return successCounter > 1;
}
private Dictionary<Product, double> GetDictionaryFromColumns(Range productColumn, Range amountColumn)