/// <summary>
        /// Построить правила проверки для объекта.
        /// </summary>
        public static IValidationOperator ForObject(Action <ObjectCompositeValidationBuilder> buildAction)
        {
            var builder = new ObjectCompositeValidationBuilder();

            buildAction(builder);

            return(builder.Operator);
        }
Пример #2
0
        /// <summary>
        /// Добавить правило логического умножения для текущего объекта.
        /// </summary>
        public ObjectValidationBuilder And(Action <ObjectValidationBuilder> buildAction)
        {
            var compositeValidationBuilder = new ObjectCompositeValidationBuilder();

            compositeValidationBuilder.And(buildAction);

            _compositeValidator.Add(compositeValidationBuilder.Operator);

            return(this);
        }
Пример #3
0
        /// <summary>
        /// Добавить правило проверки свойства текущего объекта.
        /// </summary>
        public ObjectValidationBuilder Property(string property, Action <ObjectCompositeValidationBuilder> buildAction)
        {
            var builder = new ObjectCompositeValidationBuilder(property);

            buildAction(builder);

            _compositeValidator.Add(builder.Operator);

            return(this);
        }
        /// <summary>
        /// Добавить правило проверки текущей коллекции, что хотя бы один из ее элементов удолетворяет условиям.
        /// </summary>
        public CollectionValidationBuilder Any(Action <ObjectCompositeValidationBuilder> buildAction)
        {
            var itemBuilder = new ObjectCompositeValidationBuilder();

            buildAction(itemBuilder);

            _compositeValidator.Add(new AnyCollectionValidator {
                Operator = itemBuilder.Operator
            });

            return(this);
        }