Ejemplo n.º 1
0
        private IDictionary <int, IList <int> > FindAll(string match)
        {
            bool searchInSelection = HightlightedCellsBackground.Values.Sum(list => list.Count) > 1;
            ComparisonOperation comparisonOperation = findAndReplaceDialog.GetComparisonOperation();
            var foundCells = new Dictionary <int, IList <int> >();

            for (int i = 0; i < Content.FilterLogic.PreprocessingData.Columns; i++)
            {
                var filters = CreateFilters(match, comparisonOperation, i);

                bool[] filteredRows = Content.FilterLogic.GetFilterResult(filters, true);
                var    foundIndices = new List <int>();
                for (int idx = 0; idx < filteredRows.Length; ++idx)
                {
                    var notFilteredThusFound = !filteredRows[idx];
                    if (notFilteredThusFound)
                    {
                        foundIndices.Add(idx);
                    }
                }
                foundCells[i] = foundIndices;
                IList <int> selectedList;
                if (searchInSelection && HightlightedCellsBackground.TryGetValue(i, out selectedList))
                {
                    foundCells[i] = foundCells[i].Intersect(selectedList).ToList <int>();
                }
                else if (searchInSelection)
                {
                    foundCells[i].Clear();
                }
            }
            return(MapToSorting(foundCells));
        }
Ejemplo n.º 2
0
        public static ExprBinaryOp GetExprComparison(Expr left, Expr right, ComparisonOperation op)
        {
            if (op == ComparisonOperation.Equals)
            {
                return(new OData.ExprEquals(left, right));
            }
            else if (op == ComparisonOperation.NotEquals)
            {
                return(new OData.ExprNotEquals(left, right));
            }
            else if (op == ComparisonOperation.GreaterThan)
            {
                return(new OData.ExprGreaterThan(left, right));
            }
            else if (op == ComparisonOperation.GreaterThanOrEquals)
            {
                return(new OData.ExprGreaterThanOrEquals(left, right));
            }
            else if (op == ComparisonOperation.LesserThan)
            {
                return(new OData.ExprLesserThan(left, right));
            }
            else if (op == ComparisonOperation.LesserThanOrEquals)
            {
                return(new OData.ExprLesserThanOrEquals(left, right));
            }

            throw new System.ArgumentOutOfRangeException();
        }
Ejemplo n.º 3
0
        private List <IFilter> CreateFilters(string match, ComparisonOperation comparisonOperation, int columnIndex)
        {
            IPreprocessingData      preprocessingData = Content.FilterLogic.PreprocessingData;
            IStringConvertibleValue value;

            if (preprocessingData.VariableHasType <double>(columnIndex))
            {
                value = new DoubleValue();
            }
            else if (preprocessingData.VariableHasType <String>(columnIndex))
            {
                value = new StringValue();
            }
            else if (preprocessingData.VariableHasType <DateTime>(columnIndex))
            {
                value = new DateTimeValue();
            }
            else
            {
                throw new ArgumentException("unsupported type");
            }
            value.SetValue(match);
            var comparisonFilter = new ComparisonFilter(preprocessingData, GetConstraintOperation(comparisonOperation), value, true);

            comparisonFilter.ConstraintColumn = columnIndex;
            return(new List <Filter.IFilter>()
            {
                comparisonFilter
            });
        }
 public ComparisonExpression(ComparisonOperation op, TextExpression exp1, TextExpression exp2)
 {
     this._op      = op;
     this._exp1    = exp1;
     this._exp2    = exp2;
     this.RawValue = exp1.RawValue + (object)op + exp2.RawValue;
 }
Ejemplo n.º 5
0
        private bool ConsumeComparisonExpression()
        {
            TokenType tokenType1 = this.LookAheadFirst.TokenType;
            TokenType tokenType2 = this.LookAheadSecond.TokenType;

            if (!this.IsArithmeticExpression(tokenType1) || !this.IsComparisonOperator(tokenType2))
            {
                return(false);
            }
            TextExpression lookAheadFirst1 = this.LookAheadFirst;

            this.DiscardToken();
            ComparisonOperation comparisonOp = this.GetComparisonOp(tokenType2);

            this.DiscardToken();
            do
            {
                ;
            }while (this.DoExpressionRules());
            if (!this.IsArithmeticExpression(this.LookAheadFirst.TokenType))
            {
                return(false);
            }
            TextExpression lookAheadFirst2 = this.LookAheadFirst;

            this.DiscardToken();
            this.PushToken((TextExpression) new ComparisonExpression(comparisonOp, lookAheadFirst1, lookAheadFirst2));
            return(true);
        }
Ejemplo n.º 6
0
        private Core.ConstraintOperation GetConstraintOperation(ComparisonOperation comparisonOperation)
        {
            Core.ConstraintOperation constraintOperation = Core.ConstraintOperation.Equal;
            switch (comparisonOperation)
            {
            case ComparisonOperation.Equal:
                constraintOperation = Core.ConstraintOperation.Equal;
                break;

            case ComparisonOperation.Greater:
                constraintOperation = Core.ConstraintOperation.Greater;
                break;

            case ComparisonOperation.GreaterOrEqual:
                constraintOperation = Core.ConstraintOperation.GreaterOrEqual;
                break;

            case ComparisonOperation.Less:
                constraintOperation = Core.ConstraintOperation.Less;
                break;

            case ComparisonOperation.LessOrEqual:
                constraintOperation = Core.ConstraintOperation.LessOrEqual;
                break;

            case ComparisonOperation.NotEqual:
                constraintOperation = Core.ConstraintOperation.NotEqual;
                break;
            }
            return(constraintOperation);
        }
Ejemplo n.º 7
0
    // ********************************************************************
    public static bool RunComparison(ComparisonOperation _comparison, float _first, float _second)
    {
        switch (_comparison)
        {
        case ComparisonOperation.EQUAL:
            return(_first == _second);

        case ComparisonOperation.NOT_EQUAL:
            return(_first != _second);

        case ComparisonOperation.GREATER_THAN:
            return(_first > _second);

        case ComparisonOperation.GREATER_THAN_EQUAL_TO:
            return(_first >= _second);

        case ComparisonOperation.LESS_THAN:
            return(_first < _second);

        case ComparisonOperation.LESS_THAN_EQUAL_TO:
            return(_first <= _second);

        default:
            Debug.LogError("Invalid comparison operation provided: " + _comparison);
            return(false);
        }
    }
Ejemplo n.º 8
0
        public void ComparisonOperation_GetterWorksProperly()
        {
            // Act
            ComparisonOperation actualComparisonOperation = _unaryStatement.ComparisonOperation;

            // Assert
            Assert.AreEqual(_expectedComparisonOperation, actualComparisonOperation);
        }
Ejemplo n.º 9
0
 public ConditionPreviousRank(XElement el)
 {
     if (el == null)
     {
         throw new ArgumentNullException("el");
     }
     Rank       = RankManager.ParseRank(el.Attribute("val").Value);
     Comparison = (ComparisonOperation)Enum.Parse(typeof(ComparisonOperation), el.Attribute("op").Value, true);
 }
Ejemplo n.º 10
0
        public static string GetComparisonOperator(ComparisonOperation comparisonOperation)
        {
            if (!ComparisonOperators.Keys.Contains(comparisonOperation))
            {
                throw new InvalidOperationException("Required operation was not recognized.");
            }

            return ComparisonOperators[comparisonOperation];
        }
Ejemplo n.º 11
0
 public void Visit(ComparisonOperation node)
 {
     BinaryOperationVisit(node);
     if (special_object_return_type)
     {
         IC.Add(new CommentLine($"set bool as return type"));
         IC.Add(new AssignmentStringToVariable(return_type_variable, "Bool"));
     }
 }
Ejemplo n.º 12
0
        public static string GetComparisonOperator(ComparisonOperation comparisonOperation)
        {
            if (!ComparisonOperators.Keys.Contains(comparisonOperation))
            {
                throw new InvalidOperationException("Required operation was not recognized.");
            }

            return(ComparisonOperators[comparisonOperation]);
        }
Ejemplo n.º 13
0
        private static bool Compare(ComparisonOperation op, object var1, object var2)
        {
            dynamic v1 = var1;
            dynamic v2 = var2;

            if (v1 == null && v2 == null)
            {
                return(op == ComparisonOperation.Equality || op == ComparisonOperation.GreaterThanOrEqualTo || op == ComparisonOperation.LessThanOrEqualTo);
            }
            if (v1 == null || v2 == null)
            {
                return(op == ComparisonOperation.Inequality);
            }

            if (v1 is bool && v2 is bool) // Handle boolean comparison in a separate method.
            {
                return(CompareBoolean(op, (bool)v1, (bool)v2));
            }

            // Handle comparisons between boolean and numeric values.
            if (v1 is bool)
            {
                return(CompareBoolean(op, (bool)v1, v2 != 0));
            }
            if (v2 is bool)
            {
                return(CompareBoolean(op, (bool)v2, v1 != 0));
            }

            // Match up decimal/double types.
            TypeMatch(ref v1, ref v2);

            switch (op)
            {
            case ComparisonOperation.Equality:
                return(v1 == v2);

            case ComparisonOperation.Inequality:
                return(v1 != v2);

            case ComparisonOperation.GreaterThan:
                return(v1 > v2);

            case ComparisonOperation.LessThan:
                return(v1 < v2);

            case ComparisonOperation.GreaterThanOrEqualTo:
                return(v1 >= v2);

            case ComparisonOperation.LessThanOrEqualTo:
                return(v1 <= v2);

            default:
                throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }
        }
Ejemplo n.º 14
0
 public ConditionIntRange( XElement el ) {
     if( el == null ) throw new ArgumentNullException( "el" );
     Field = (ConditionField)Enum.Parse( typeof( ConditionField ), el.Attribute( "field" ).Value, true );
     Value = Int32.Parse( el.Attribute( "val" ).Value );
     if( el.Attribute( "op" ) != null ) {
         Comparison = (ComparisonOperation)Enum.Parse( typeof( ComparisonOperation ), el.Attribute( "op" ).Value, true );
     }
     if( el.Attribute( "scope" ) != null ) {
         Scope = (ConditionScopeType)Enum.Parse( typeof( ConditionScopeType ), el.Attribute( "scope" ).Value, true );
     }
 }
Ejemplo n.º 15
0
        public void TestAppendString(ComparisonOperation op, string expected)
        {
            var variable = new VariableExpression("variable");
            var value    = new IntegerConstantExpression(99);
            var expr     = new ComparisonExpression(variable, op, value);

            var builder = new StringBuilder();

            expr.AppendString(builder);
            Assert.That(builder.ToString(), Is.EqualTo(expected));
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Used to create: {ValueLeft}{ComparisonOperator}{ValueRight}
        /// </summary>
        public Expression(ComparisonOperation comparisonOperation, IValueType valueLeft, IValueType valueRight)
        {
            StringBuilder sb = new StringBuilder(512);

            this._comparisonOperator = Operation.GetComparisonOperator(comparisonOperation);

            sb.Append(valueLeft.ToString());
            sb.Append(this._comparisonOperator);
            sb.Append(valueRight.ToString());

            this.Value = sb.ToString();
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Used to create: {ValueLeft}{ComparisonOperator}{ValueRight}
        /// </summary>
        public Expression(ComparisonOperation comparisonOperation, IValueType valueLeft, IValueType valueRight)
        {
            StringBuilder sb = new StringBuilder(512);

            this.ComparisonOperator = Operation.GetComparisonOperator(comparisonOperation);

            sb.Append(valueLeft.ToString());
            sb.Append(this.ComparisonOperator);
            sb.Append(valueRight.ToString());

            this.Value = sb.ToString();
        }
Ejemplo n.º 18
0
 public ConditionPreviousRank(Rank rank, ComparisonOperation comparison)
 {
     if (rank == null)
     {
         throw new ArgumentNullException("rank");
     }
     if (!Enum.IsDefined(typeof(ComparisonOperation), comparison))
     {
         throw new ArgumentOutOfRangeException("comparison", "Unknown comparison type");
     }
     Rank       = rank;
     Comparison = comparison;
 }
Ejemplo n.º 19
0
        private string GetComparisonExpressionFormat(ComparisonOperation operation)
        {
            switch (operation)
            {
            case ComparisonOperation.Between:
                return("{0} <= {1} and {1} <= {2}");

            case ComparisonOperation.NotBetween:
                return("{0} > {1} or {1} > {2}");

            default:
                throw new ArgumentOutOfRangeException(operation.ToString() + " is not a supported linear operation.");
            }
        }
Ejemplo n.º 20
0
        private static bool CompareBoolean(ComparisonOperation op, bool var1, bool var2)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (op)
            {
            case ComparisonOperation.Equality:
                return(var1 == var2);

            case ComparisonOperation.Inequality:
                return(var1 != var2);

            default:
                throw new InvalidVariableOperationException($"Attempted to perform an {op} operation on a boolean value.");
            }
        }
Ejemplo n.º 21
0
        public void Visit(ComparisonOperation node)
        {
            node.LeftOperand.Accept(this);
            node.RightOperand.Accept(this);

            if (node.LeftOperand.StaticType.Text != "Int" || node.RightOperand.StaticType.Text != "Int")
            {
                errors.Add(SemanticError.InvalidUseOfOperator(node, node.LeftOperand.StaticType, node.RightOperand.StaticType));
            }

            if (!scope.IsDefinedType("Bool", out node.StaticType))
            {
                errors.Add(SemanticError.NotDeclaredType(new TypeNode(node.Line, node.Column, "Bool")));
            }
        }
Ejemplo n.º 22
0
        public UnaryStatement(string leftOperand, ComparisonOperation comparisonOperation, string rightOperand)
        {
            if (string.IsNullOrWhiteSpace(leftOperand))
            {
                throw new ArgumentNullException(nameof(leftOperand));
            }
            if (string.IsNullOrWhiteSpace(rightOperand))
            {
                throw new ArgumentNullException(nameof(rightOperand));
            }

            LeftOperand         = leftOperand;
            ComparisonOperation = comparisonOperation;
            RightOperand        = rightOperand;
        }
Ejemplo n.º 23
0
        void findAndReplaceDialog_FindNextEvent(object sender, EventArgs e)
        {
            if (searchIterator == null ||
                currentSearchText != findAndReplaceDialog.GetSearchText() ||
                currentComparisonOperation != findAndReplaceDialog.GetComparisonOperation())
            {
                searchIterator             = new FindPreprocessingItemsIterator(FindAll(findAndReplaceDialog.GetSearchText()));
                currentSearchText          = findAndReplaceDialog.GetSearchText();
                currentComparisonOperation = findAndReplaceDialog.GetComparisonOperation();
            }

            if (IsOneCellSelected())
            {
                var first = GetSelectedCells().First();
                searchIterator.SetStartCell(first.Key, first.Value[0]);
            }

            bool moreOccurences = false;

            currentCell    = searchIterator.GetCurrent();
            moreOccurences = searchIterator.MoveNext();
            if (IsOneCellSelected() && currentCell != null)
            {
                var first = GetSelectedCells().First();
                if (currentCell.Item1 == first.Key && currentCell.Item2 == first.Value[0])
                {
                    if (!moreOccurences)
                    {
                        searchIterator.Reset();
                    }
                    currentCell    = searchIterator.GetCurrent();
                    moreOccurences = searchIterator.MoveNext();
                    if (!moreOccurences)
                    {
                        searchIterator.Reset();
                    }
                }
            }

            dataGridView.ClearSelection();

            if (currentCell != null)
            {
                dataGridView[currentCell.Item1, currentCell.Item2].Selected = true;
                dataGridView.CurrentCell = dataGridView[currentCell.Item1, currentCell.Item2];
            }
        }
Ejemplo n.º 24
0
 public ConditionIntRange(XElement el)
 {
     if (el == null)
     {
         throw new ArgumentNullException("el");
     }
     Field = (ConditionField)Enum.Parse(typeof(ConditionField), el.Attribute("field").Value, true);
     Value = Int32.Parse(el.Attribute("val").Value);
     if (el.Attribute("op") != null)
     {
         Comparison = (ComparisonOperation)Enum.Parse(typeof(ComparisonOperation), el.Attribute("op").Value, true);
     }
     if (el.Attribute("scope") != null)
     {
         Scope = (ConditionScopeType)Enum.Parse(typeof(ConditionScopeType), el.Attribute("scope").Value, true);
     }
 }
Ejemplo n.º 25
0
        internal static ComparisonOperation GetOppositeComparisonOperation(ComparisonOperation op)
        {
            switch (op)
            {
            case ComparisonOperation.Equal: return(ComparisonOperation.NotEqual);

            case ComparisonOperation.NotEqual: return(ComparisonOperation.Equal);

            case ComparisonOperation.LessThan: return(ComparisonOperation.GreaterThanOrEqual);

            case ComparisonOperation.LessThanOrEqual: return(ComparisonOperation.GreaterThan);

            case ComparisonOperation.GreaterThan: return(ComparisonOperation.LessThanOrEqual);

            case ComparisonOperation.GreaterThanOrEqual: return(ComparisonOperation.LessThan);

            default: return(ComparisonOperation.None);
            }
        }
        private static RequirementOperator GetRequirementOperator(ComparisonOperation comparisonOperation)
        {
            switch (comparisonOperation)
            {
            case ComparisonOperation.Equal: return(RequirementOperator.Equal);

            case ComparisonOperation.NotEqual: return(RequirementOperator.NotEqual);

            case ComparisonOperation.LessThan: return(RequirementOperator.LessThan);

            case ComparisonOperation.LessThanOrEqual: return(RequirementOperator.LessThanOrEqual);

            case ComparisonOperation.GreaterThan: return(RequirementOperator.GreaterThan);

            case ComparisonOperation.GreaterThanOrEqual: return(RequirementOperator.GreaterThanOrEqual);

            default: return(RequirementOperator.None);
            }
        }
Ejemplo n.º 27
0
        internal static string GetOperatorString(ComparisonOperation operation)
        {
            switch (operation)
            {
            case ComparisonOperation.Equal: return("==");

            case ComparisonOperation.NotEqual: return("!=");

            case ComparisonOperation.LessThan: return("<");

            case ComparisonOperation.LessThanOrEqual: return("<=");

            case ComparisonOperation.GreaterThan: return(">");

            case ComparisonOperation.GreaterThanOrEqual: return(">=");

            default: return(null);
            }
        }
Ejemplo n.º 28
0
        public static bool Compare <U>(ComparisonOperation operation, U left, U right) where U : IComparable <U>
        {
            // compare them
            int result = left.CompareTo(right);

            switch (operation)
            {
            case ComparisonOperation.equal:                 return(result == 0);

            case ComparisonOperation.notEqual:              return(result != 0);

            case ComparisonOperation.less:                  return(result < 0);

            case ComparisonOperation.lessOrEqual:   return(result <= 0);

            case ComparisonOperation.greater:               return(result > 0);

            case ComparisonOperation.greaterOrEqual: return(result >= 0);
            }
            return(false);
        }
Ejemplo n.º 29
0
        private string GetOperationSymbol(ComparisonOperation operation)
        {
            switch (operation)
            {
            case ComparisonOperation.LessOrEqual:
                return("<=");

            case ComparisonOperation.Less:
                return("<");

            case ComparisonOperation.Equal:
                return("==");

            case ComparisonOperation.LargerOrEqual:
                return(">=");

            case ComparisonOperation.Larger:
                return(">");

            default:
                throw new ArgumentOutOfRangeException(operation.ToString() + " is not a supported linear operation.");
            }
        }
Ejemplo n.º 30
0
        public bool CalculateIfExcessGuideline(AnalyteGuidelineValue guideline, double?value, ComparisonOperation operation)
        {
            var decider    = _factory.BuildDecider(guideline.GetType());
            var isExcessed = decider.CalculateIfExcessGuideline(guideline, value, operation);

            return(isExcessed);
        }
Ejemplo n.º 31
0
 public ConditionIntRange( ConditionField field, ComparisonOperation comparison, int value ) {
     Field = field;
     Comparison = comparison;
     Value = value;
 }
Ejemplo n.º 32
0
 public ConditionMetadata(string fieldName, ComparisonOperation comparisonOperation, string value)
 {
     this.fieldName = fieldName;
     this.comparisonOperation = comparisonOperation;
     this.value = value;
 }
Ejemplo n.º 33
0
 private List<IFilter> CreateFilters(string match, ComparisonOperation comparisonOperation, int columnIndex) {
   IPreprocessingData preprocessingData = Content.FilterLogic.PreprocessingData;
   IStringConvertibleValue value;
   if (preprocessingData.VariableHasType<double>(columnIndex)) {
     value = new DoubleValue();
   } else if (preprocessingData.VariableHasType<String>(columnIndex)) {
     value = new StringValue();
   } else if (preprocessingData.VariableHasType<DateTime>(columnIndex)) {
     value = new DateTimeValue();
   } else {
     throw new ArgumentException("unsupported type");
   }
   value.SetValue(match);
   var comparisonFilter = new ComparisonFilter(preprocessingData, GetConstraintOperation(comparisonOperation), value, true);
   comparisonFilter.ConstraintColumn = columnIndex;
   return new List<Filter.IFilter>() { comparisonFilter };
 }
Ejemplo n.º 34
0
 private Core.ConstraintOperation GetConstraintOperation(ComparisonOperation comparisonOperation) {
   Core.ConstraintOperation constraintOperation = Core.ConstraintOperation.Equal;
   switch (comparisonOperation) {
     case ComparisonOperation.Equal:
       constraintOperation = Core.ConstraintOperation.Equal;
       break;
     case ComparisonOperation.Greater:
       constraintOperation = Core.ConstraintOperation.Greater;
       break;
     case ComparisonOperation.GreaterOrEqual:
       constraintOperation = Core.ConstraintOperation.GreaterOrEqual;
       break;
     case ComparisonOperation.Less:
       constraintOperation = Core.ConstraintOperation.Less;
       break;
     case ComparisonOperation.LessOrEqual:
       constraintOperation = Core.ConstraintOperation.LessOrEqual;
       break;
     case ComparisonOperation.NotEqual:
       constraintOperation = Core.ConstraintOperation.NotEqual;
       break;
   }
   return constraintOperation;
 }
Ejemplo n.º 35
0
 public ComparisonExpression(ExpressionBase left, ComparisonOperation operation, ExpressionBase right)
     : base(left, right, ExpressionType.Comparison)
 {
     Operation = operation;
 }
        public IFluentQueryBuilder Where(string fieldName, ComparisonOperation comparisonOperation, string value)
        {
            ConditionMetadata condition = new ConditionMetadata(fieldName, comparisonOperation, value);
            metadata.AddCondition(condition);

            return this;
        }
Ejemplo n.º 37
0
 public ConditionPreviousRank( XElement el ) {
     if( el == null ) throw new ArgumentNullException( "el" );
     Rank = RankManager.ParseRank( el.Attribute( "val" ).Value );
     Comparison = (ComparisonOperation)Enum.Parse( typeof( ComparisonOperation ), el.Attribute( "op" ).Value, true );
 }
Ejemplo n.º 38
0
        public bool CalculateIfExcessGuideline(AnalyteGuidelineValue guideline, double?value, ComparisonOperation operation)
        {
            if (!IsSupported(guideline, operation))
            {
                throw new ArgumentException("guideine type or the comparison operation is not supported by the " + this.GetType().Name);
            }

            var castedGuideline = (SimpleGuidelineValue)guideline;

            if (value.HasValue && castedGuideline.GuidelineValue.HasValue)
            {
                var operationSymbol  = GetOperationSymbol(operation);
                var expressionString = String.Format("{0} {1} {2}", value.Value, operationSymbol, castedGuideline.GuidelineValue.Value);

                var expression = new Expression(expressionString);
                var result     = (bool)expression.Evaluate();

                return(!result);
            }

            return(false);
        }
Ejemplo n.º 39
0
    void findAndReplaceDialog_FindNextEvent(object sender, EventArgs e) {
      if (searchIterator == null
        || currentSearchText != findAndReplaceDialog.GetSearchText()
        || currentComparisonOperation != findAndReplaceDialog.GetComparisonOperation()) {

        searchIterator = new FindPreprocessingItemsIterator(FindAll(findAndReplaceDialog.GetSearchText()));
        currentSearchText = findAndReplaceDialog.GetSearchText();
        currentComparisonOperation = findAndReplaceDialog.GetComparisonOperation();
      }

      if (IsOneCellSelected()) {
        var first = GetSelectedCells().First();
        searchIterator.SetStartCell(first.Key, first.Value[0]);
      }

      bool moreOccurences = false;
      currentCell = searchIterator.GetCurrent();
      moreOccurences = searchIterator.MoveNext();
      if (IsOneCellSelected() && currentCell != null) {
        var first = GetSelectedCells().First();
        if (currentCell.Item1 == first.Key && currentCell.Item2 == first.Value[0]) {
          if (!moreOccurences) {
            searchIterator.Reset();
          }
          currentCell = searchIterator.GetCurrent();
          moreOccurences = searchIterator.MoveNext();
          if (!moreOccurences) {
            searchIterator.Reset();
          }
        }
      }

      dataGridView.ClearSelection();

      if (currentCell != null) {
        dataGridView[currentCell.Item1, currentCell.Item2].Selected = true;
        dataGridView.CurrentCell = dataGridView[currentCell.Item1, currentCell.Item2];
      }
    }
Ejemplo n.º 40
0
 public ConditionPreviousRank( Rank rank, ComparisonOperation comparison ) {
     if( rank == null ) throw new ArgumentNullException( "rank" );
     if( !Enum.IsDefined( typeof( ComparisonOperation ), comparison ) ) {
         throw new ArgumentOutOfRangeException( "comparison", "Unknown comparison type" );
     }
     Rank = rank;
     Comparison = comparison;
 }
Ejemplo n.º 41
0
 public void Visit(ComparisonOperation node)
 {
     throw new NotImplementedException();
 }