aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2023-05-30 08:48:21 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2023-05-30 08:48:21 +0300
commitf1abb03ac9e059c92b12f27dcab6e588345ec206 (patch)
tree3e1c7f1266369b37576556997ab7cfeacd02317f
parent656f565152cee0f2f5558650ec600b34ad6de99d (diff)
Can guess amount columns with numbers in header
-rw-r--r--RhSolutions.AddIn/Services/GuessReader.cs26
1 files changed, 17 insertions, 9 deletions
diff --git a/RhSolutions.AddIn/Services/GuessReader.cs b/RhSolutions.AddIn/Services/GuessReader.cs
index 3824950..09bb5a0 100644
--- a/RhSolutions.AddIn/Services/GuessReader.cs
+++ b/RhSolutions.AddIn/Services/GuessReader.cs
@@ -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)