diff options
author | Sergey Chebotar <s.chebotar@gmail.com> | 2023-05-30 08:48:21 +0300 |
---|---|---|
committer | Sergey Chebotar <s.chebotar@gmail.com> | 2023-05-30 08:48:21 +0300 |
commit | f1abb03ac9e059c92b12f27dcab6e588345ec206 (patch) | |
tree | 3e1c7f1266369b37576556997ab7cfeacd02317f | |
parent | 656f565152cee0f2f5558650ec600b34ad6de99d (diff) |
Can guess amount columns with numbers in header
-rw-r--r-- | RhSolutions.AddIn/Services/GuessReader.cs | 26 |
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) |