/// <summary> /// This code gets called on the first time this Object type is constructed /// </summary> void AddSharedBusinessRules() { lock (_LockObject) { if (!(SharedValidationRules.RulesExistFor(this.GetType()))) { ValidationRulesManager mgrValidation = SharedValidationRules.GetManager(this.GetType()); CharacterCasingRulesManager mgrCharacterCasing = SharedCharacterCasingRules.GetManager(this.GetType()); foreach (PropertyInfo prop in this.GetType().GetProperties()) { foreach (BaseValidatorAttribute atr in prop.GetCustomAttributes(typeof(BaseValidatorAttribute), false)) { mgrValidation.AddRule(atr.Create(prop.Name), prop.Name); } foreach (CharacterCasingFormattingAttribute atr in prop.GetCustomAttributes(typeof(CharacterCasingFormattingAttribute), false)) { mgrCharacterCasing.AddRule(prop.Name, atr.CharacterCasing); } } AddSharedBusinessValidationRules(mgrValidation); AddSharedCharacterCasingFormattingRules(mgrCharacterCasing); } } }