public static ValidationNotification Validate <TSpec>(object instance) where TSpec : SpecificationBase, new() { var context = new TContext(); var spec = context.SpecificationContainer.TryGetSpecification <TSpec>() ?? new TSpec() as SpecificationBase; return(ValidationCatalog.Validate(instance, context.SpecificationContainer, spec)); }
public static void Assert(Action <Validates <object> > rules) { var spec = new SpecificationExpression <object>(rules); var vn = ValidationCatalog.Validate(spec.Instance, spec); //var vn = spec.Validate(spec.Instance); if (!vn.IsValid) { throw new ValidationException("Invalid " + spec.Instance.GetType().ToString(), vn); } }
public static ValidationNotification Validate(object instance, SpecificationBase specificationBase) { var context = new TContext(); return(ValidationCatalog.Validate(instance, context.SpecificationContainer, specificationBase)); }