Example #1
0
        public async Task PauseOperator()
        {
            pause = true;
            IFilterOperator nextOperator = base.GrainFactory.GetGrain <IFilterOperator>(this.GetPrimaryKeyLong());
            await nextOperator.PauseOperator();

            //return Task.CompletedTask;
        }
Example #2
0
        /// <summary>
        /// Удалить оператор
        /// </summary>
        /// <param name="filterOperator">Оператор</param>
        /// <exception cref="ArgumentNullException">Оператор не задан</exception>
        public void Remove(IFilterOperator filterOperator)
        {
            if (filterOperator == null)
            {
                throw new ArgumentNullException(nameof(filterOperator));
            }

            _operators.Remove(filterOperator);
        }
Example #3
0
        public async Task QuitOperator()
        {
            sw.Flush();
            fs.Close();
            IFilterOperator nextOperator = base.GrainFactory.GetGrain <IFilterOperator>(this.GetPrimaryKeyLong());
            await nextOperator.QuitOperator();

            //return Task.CompletedTask;
        }
Example #4
0
        public void SholdSerializeOperator()
        {
            // Given
            var entity = new FilterTestEntity {
                StringField = "Abc", IntField = 5
            };

            // Какое-то сложное логическое выражение
            var specification = new FilterSpecification <FilterTestEntity>(
                b => b.Or(
                    c => c
                    .And(a => a.Or(o => o
                                   .Null(i => i.StringField)
                                   .Equal(i => i.StringField, string.Empty))
                         .Equal(i => i.IntField, 0))
                    .And(a => a
                         .NotNull(i => i.StringField)
                         .NotEqual(i => i.StringField, string.Empty)
                         .Or(o => o
                             .In(i => i.StringField.ToLower(), new[] { "a", "b", "c" })
                             .Contains(i => i.StringField.ToLower(), "abc")
                             .StartsWith(i => i.StringField, "1")
                             .EndsWith(i => i.StringField, "5"))
                         .Or(o => o
                             .And(a2 => a2
                                  .GreaterOrEqual(i => i.IntField, 0)
                                  .LessOrEqual(i => i.IntField, 10))
                             .And(a2 => a2
                                  .Greater(i => i.IntField, 10)
                                  .Less(i => i.IntField, 20))
                             .Between(i => i.IntField, 20, 30)))));

            IFilterOperator operatorFromStream;
            IFilterOperator operatorToStream = specification.Operator;

            // When
            using (var stream = new MemoryStream())
            {
                // Сериализация
                var serializer = new NetDataContractSerializer();
                serializer.Serialize(stream, operatorToStream);
                stream.Position = 0;

                // Десериализация
                operatorFromStream = (IFilterOperator)serializer.ReadObject(stream);
            }

            // Then
            Assert.IsNotNull(operatorFromStream);
            Assert.AreEqual(operatorToStream.IsSatisfiedBy(entity), operatorFromStream.IsSatisfiedBy(entity));
        }
Example #5
0
        /// <summary>
        /// Добавить оператор
        /// </summary>
        /// <param name="filterOperator">Оператор</param>
        /// <exception cref="ArgumentNullException">Оператор не задан</exception>
        /// <exception cref="ArgumentException">Тип оператора не соответствует типу данного фильтра</exception>
        public void Add(IFilterOperator filterOperator)
        {
            if (filterOperator == null)
            {
                throw new ArgumentNullException(nameof(filterOperator));
            }

            if (filterOperator.Type != Type)
            {
                throw new ArgumentOutOfRangeException(nameof(filterOperator));
            }

            _operators.Add(filterOperator);
        }
Example #6
0
        /// <summary>
        /// Добавить оператор
        /// </summary>
        /// <param name="filterOperator">Оператор</param>
        /// <exception cref="ArgumentNullException">Оператор не задан</exception>
        /// <exception cref="ArgumentException">Тип оператора не соответствует типу данного фильтра</exception>
        public void Add(IFilterOperator filterOperator)
        {
            if (filterOperator == null)
            {
                throw new ArgumentNullException();
            }

            if (filterOperator.Type != Type)
            {
                throw new ArgumentException();
            }

            _operators.Add(filterOperator);
        }
        /// <summary>
        /// Добавить оператор
        /// </summary>
        /// <param name="filterOperator">Оператор</param>
        /// <exception cref="ArgumentNullException">Оператор не задан</exception>
        /// <exception cref="ArgumentException">Тип оператора не соответствует типу данного фильтра</exception>
        public void Add(IFilterOperator filterOperator)
        {
            if (filterOperator == null)
            {
                throw new ArgumentNullException();
            }

            if (filterOperator.Type != Type)
            {
                throw new ArgumentException();
            }

            _operators.Add(filterOperator);
        }
Example #8
0
        public async Task ResumeOperator()
        {
            pause = false;

            if (pausedRows.Count > 0)
            {
                await SubmitTuples(pausedRows, true);

                pausedRows.Clear();
            }
            IFilterOperator nextOperator = base.GrainFactory.GetGrain <IFilterOperator>(this.GetPrimaryKeyLong());
            await nextOperator.ResumeOperator();

            //return Task.CompletedTask;
        }
Example #9
0
 public NotOperator(string typeName, IFilterOperator filterOperator)
     : base(typeName, filterOperator)
 {
 }
Example #10
0
 public NotOperator(string typeName, IFilterOperator filterOperator)
     : base(typeName, filterOperator)
 {
 }
 public static IQueryFilter <T, P> Or <T, P>(this IFilterOperator <T> query, Expression <Func <T, P> > property) =>
 query.AddOperator(nameof(IQueryInstructions.Or), property);
 public static IQueryFilter <T> Or <T>(this IFilterOperator <T> query, string property) =>
 query.AddOperator(nameof(IQueryInstructions.Or), property);
 public static IFilterOperator <T> Or <T>(this IFilterOperator <T> query, Action <IQueryCompose <T> > subQuery) =>
 query.AddGroupExpression(nameof(IQueryInstructions.Or), subQuery);
Example #14
0
        /// <summary>
        /// Удалить оператор
        /// </summary>
        /// <param name="filterOperator">Оператор</param>
        /// <exception cref="ArgumentNullException">Оператор не задан</exception>
        public void Remove(IFilterOperator filterOperator)
        {
            if (filterOperator == null)
            {
                throw new ArgumentNullException();
            }

            _operators.Remove(filterOperator);
        }