Ejemplo n.º 1
0
        public bool TryGet(string modelIdentifier, string fieldIdentifier, string metadataKey, out IFieldMetadataValidator validator)
        {
            foreach (FieldMetadataValidatorKey key in LazyEnumerateKeys(modelIdentifier, fieldIdentifier, metadataKey))
            {
                if (singletons.TryGetValue(key, out validator))
                {
                    return(true);
                }

                IFactory <IFieldMetadataValidator> builder;
                if (builders.TryGetValue(key, out builder))
                {
                    validator = builder.Create();
                    return(true);
                }

                if (onSearchValidator.TryExecute(key, out validator))
                {
                    return(true);
                }
            }

            validator = null;
            return(false);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Add validator for <paramref name="metadataKey"/> on field <paramref name="fieldIdentifier"/> of model <paramref name="modelIdentifier"/>.
 /// </summary>
 /// <param name="modelIdentifier">Identifier of model definition.</param>
 /// <param name="fieldIdentifier">Identifier of field definition.</param>
 /// <param name="metadataKey">Field metadata validator key.</param>
 /// <param name="validator">Validator.</param>
 /// <returns>Self (for fluency).</returns>
 public FieldMetadataValidatorCollection Add(string modelIdentifier, string fieldIdentifier, string metadataKey, IFieldMetadataValidator validator)
 {
     singletons[new FieldMetadataValidatorKey(modelIdentifier, fieldIdentifier, metadataKey)] = validator;
     return(this);
 }