/// <summary> /// Построить правила проверки для объекта. /// </summary> public static IValidationOperator ForObject(Action <ObjectCompositeValidationBuilder> buildAction) { var builder = new ObjectCompositeValidationBuilder(); buildAction(builder); return(builder.Operator); }
/// <summary> /// Добавить правило логического умножения для текущего объекта. /// </summary> public ObjectValidationBuilder And(Action <ObjectValidationBuilder> buildAction) { var compositeValidationBuilder = new ObjectCompositeValidationBuilder(); compositeValidationBuilder.And(buildAction); _compositeValidator.Add(compositeValidationBuilder.Operator); return(this); }
/// <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); }