示例#1
0
        /// <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));
        }
示例#2
0
 Boolean Equals(AdcsDbQueryFilter other)
 {
     return(String.Equals(ColumnName, other.ColumnName, StringComparison.OrdinalIgnoreCase) &&
            LogicalOperator == other.LogicalOperator &&
            Equals(QualifierValue, other.QualifierValue));
 }