diff --git a/RhSolutions.AddIn/Services/GuessReader.cs b/RhSolutions.AddIn/Services/GuessReader.cs index c3f36e4..f1327d5 100644 --- a/RhSolutions.AddIn/Services/GuessReader.cs +++ b/RhSolutions.AddIn/Services/GuessReader.cs @@ -1,5 +1,4 @@ -using Microsoft.Office.Interop.Excel; -using System.IO; +using System.IO; namespace RhSolutions.Services; @@ -95,7 +94,7 @@ public class GuessReader : IReader continue; } - if (ProductSku.TryParse(currentCell.ToString(), out IEnumerable skus)) + if (ProductSku.TryParse(currentCell.ToString(), out _)) { successCounter++; } @@ -120,37 +119,38 @@ public class GuessReader : IReader return false; } - for (int row = 1; row < column.Rows.Count + 1; row++) + if (column.Rows.Count == 1) { - object currentCell = column.Rows.Count == 1 ? cells : cells[row, 1]; - if (currentCell == null) - { - continue; - } + double? value = cells as double?; - double? value = currentCell as double?; - - if (value == null || value == 0) - { - continue; - } - - if (value > maxValue) - { - return false; - } - - if (column.Rows.Count == 1) - { - return true; - } - - if (++successCounter > 1) - { - return true; - } + return value != null + && value != 0 + && value < maxValue; } + else + { + for (int row = 1; row < column.Rows.Count + 1; row++) + { + object currentCell = cells[row, 1]; + double? value = currentCell as double?; + + if (value == null || value == 0) + { + continue; + } + + if (value > maxValue) + { + return false; + } + + if (++successCounter > 1) + { + return true; + } + } + return (column.Rows.Count > 1 && successCounter > 0) || successCounter > 1; }