public static void InitSchema(this IValidationSource source)
 {
     if (source is IRequiresSchema requiresSchema)
     {
         requiresSchema.InitSchema();
     }
 }
        public static async Task <List <ValidationRule> > GetValidateRulesByIdsAsync(this IValidationSource source, params int[] ids)
        {
            if (source is IValidationSourceAdmin sourceAdmin)
            {
                return(await sourceAdmin.GetValidateRulesByIdsAsync(ids).ConfigAwait());
            }

            ThrowNotValidationSourceAdmin(source);
            return(null);
        }
        public static Task SaveValidationRulesAsync(this IValidationSource source, List <ValidationRule> validateRules)
        {
            if (source is IValidationSourceAdmin sourceAdmin)
            {
                return(sourceAdmin.SaveValidationRulesAsync(validateRules));
            }

            ThrowNotValidationSourceAdmin(source);
            return(null);
        }
        public static async Task <List <ValidationRule> > GetAllValidateRulesAsync(this IValidationSource source, string typeName)
        {
            if (source is IValidationSourceAdmin sourceAdmin)
            {
                return(await sourceAdmin.GetAllValidateRulesAsync(typeName).ConfigAwait());
            }

            ThrowNotValidationSourceAdmin(source);
            return(null);
        }
 public static void SaveValidationRules(this IValidationSource source, List <ValidateRule> validateRules)
 {
     if (source is IValidationSourceWriter sourceWriter)
     {
         sourceWriter.SaveValidationRules(validateRules);
     }
     else
     {
         throw new NotSupportedException($"{source.GetType().Name} does not implement IValidationSourceWriter");
     }
 }
 public static async Task ClearCacheAsync(this IValidationSource source, params int[] ids)
 {
     if (source is IValidationSourceAdmin sourceAdmin)
     {
         await sourceAdmin.ClearCacheAsync().ConfigAwait();
     }
     else
     {
         ThrowNotValidationSourceAdmin(source);
     }
 }
 public static async Task DeleteValidationRulesAsync(this IValidationSource source, params int[] ids)
 {
     if (source is IValidationSourceAdmin sourceAdmin)
     {
         await sourceAdmin.DeleteValidationRulesAsync(ids).ConfigAwait();
     }
     else
     {
         ThrowNotValidationSourceAdmin(source);
     }
 }
 private void SetValidationSourceHandler()
 {
     var newSource = validationContainer.ValidationSource ;
     Debug.WriteLine(string.Format("ValiationSource set from filed handler: new one: {0}, current once: {1}, for field {2} ", newSource, validationSource, uiElement));
     if (newSource != validationSource)
     {
         UnRegisterEventFromValidationSource();
         validationSource = newSource;
         RegisterEventFromValiationSource();
     }
     SetValidationResult();
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Mostly used for testing. Sets up a ValidationGraph for a given source.
 /// </summary>
 /// <param name="source"></param>
 /// <returns></returns>
 public static ValidationGraph For(IValidationSource source)
 {
     return(new ValidationGraph(FieldRulesRegistry.BasicRegistry(), new[] { source }));
 }
Ejemplo n.º 10
0
 public void RegisterSource(IValidationSource source)
 {
     _sources.Fill(source);
 }
Ejemplo n.º 11
0
 public static ValidationStep FromSource(Type type, IValidationSource source)
 {
     return(new ValidationStep(type, source.GetType(), source.RulesFor(type)));
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Mostly used for testing. Sets up a ValidationGraph for a given source.
 /// </summary>
 /// <param name="source"></param>
 /// <returns></returns>
 public static ValidationGraph For(IValidationSource source)
 {
     return new ValidationGraph(FieldRulesRegistry.BasicRegistry(), new[] { source });
 }
Ejemplo n.º 13
0
 public void RegisterSource(IValidationSource source)
 {
     _sources.Fill(source);
 }
 private static void ThrowNotValidationSourceAdmin(IValidationSource source) =>
 throw new NotSupportedException($"{source.GetType().Name} does not implement IValidationSourceAdmin");