/// <summary> /// Adds query filter to requested view. /// </summary> /// <param name="filter">Filter entry to add.</param> /// <exception cref="ArgumentNullException"> /// <strong>filter</strong> parameter is null. /// </exception> /// <exception cref="AccessViolationException"> /// Database view is already opened and cannot be altered. /// </exception> /// <returns> /// <strong>True</strong> if filter is added, if filter is already added or the filter column is not valid /// the method returns <strong>False</strong>. /// </returns> public Boolean AddQueryFilter(AdcsDbQueryFilter filter) { if (filter == null) { throw new ArgumentNullException(nameof(filter)); } if (isOpenView) { throw new AccessViolationException(); } if (_filters.Contains(filter)) { return(false); } Int32 index; try { index = _caView.GetColumnIndex(0, filter.ColumnName); } catch { return(false); } filter.ColumnID = index; return(_filters.Add(filter)); }
Boolean Equals(AdcsDbQueryFilter other) { return(String.Equals(ColumnName, other.ColumnName, StringComparison.OrdinalIgnoreCase) && LogicalOperator == other.LogicalOperator && Equals(QualifierValue, other.QualifierValue)); }