WindowsAzure.Table.Queryable.Expressions.TranslationResult.AddFilter C# (CSharp) Méthode

AddFilter() public méthode

Adds a filter expression.
public AddFilter ( string filter ) : void
filter string Filter expression.
Résultat void
        public void AddFilter(string filter)
        {
            if (string.IsNullOrEmpty(filter))
            {
                throw new ArgumentNullException(nameof(filter));
            }

            if (_filtersCount == 0)
            {
                _tableQuery.FilterString = filter;
            }
            else
            {
                // Combine filters
                var stringBuilder = new StringBuilder(_tableQuery.FilterString.Length + filter.Length);

                if (_filtersCount > 0)
                {
                    if (_tableQuery.FilterString.Count(p => p == ' ') > 2)
                    {
                        stringBuilder.AppendFormat("({0})", _tableQuery.FilterString);
                    }
                    else
                    {
                        stringBuilder.Append(_tableQuery.FilterString);
                    }
                }

                stringBuilder.Append(" and ");

                if (filter.Count(p => p == ' ') > 2)
                {
                    stringBuilder.AppendFormat("({0})", filter);
                }
                else
                {
                    stringBuilder.Append(filter);
                }

                _tableQuery.FilterString = stringBuilder.ToString();
            }

            _filtersCount++;
        }

Usage Example

        public void AddFilterTwice()
        {
            // Arrange
            var result = new TranslationResult();
            const string filter = "name eq '123'";

            // Act
            result.AddFilter(filter);
            result.AddFilter(filter);

            // Assert
            Assert.NotNull(result.TableQuery);
            Assert.Equal(string.Format("{0} and {0}", filter), result.TableQuery.FilterString);
        }
All Usage Examples Of WindowsAzure.Table.Queryable.Expressions.TranslationResult::AddFilter