private object[] GetFormatArguments( IDictionaryAdapter dictionaryAdapter, string formattedPropertyName ) { var properties = Properties.Split( PropertyDelimeters, StringSplitOptions.RemoveEmptyEntries ); var arguments = new object[properties.Length]; for (int i = 0; i < properties.Length; ++i) { var propertyName = properties[i]; if (propertyName != formattedPropertyName) { arguments[i] = dictionaryAdapter.GetProperty(propertyName, false); } else { arguments[i] = "(recursive)"; } } return(arguments); }
public string Validate(IDictionaryAdapter dictionaryAdapter) { List <string> errors = new List <string>(); var globalRules = AttributesUtil.GetTypeAttributes <ValidationRuleAttribute>( dictionaryAdapter.Meta.Type ); foreach (var property in dictionaryAdapter.This.Properties.Values) { var propertyRules = AttributesUtil .GetAttributes <ValidationRuleAttribute>(property.Property) .Select(x => (IValidationRule)x); var propertyValue = dictionaryAdapter.GetProperty(property.PropertyName, true); ApplyValidationRules( dictionaryAdapter, propertyRules, property, propertyValue, errors ); ApplyValidationRules( dictionaryAdapter, globalRules, property, propertyValue, errors ); } return(string.Join(Environment.NewLine, errors.ToArray())); }
public bool Equals(IDictionaryAdapter adapter1, IDictionaryAdapter adapter2) { var id1 = adapter1.GetProperty("Id", false); if (id1 == null) return false; var id2 = adapter2.GetProperty("Id", false); if (id2 == null) return false; return id1.Equals(id2); }
protected override void VisitProperty( IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property, object state ) { var value = dictionaryAdapter.GetProperty(property.PropertyName, true); CollectHashCode(property, GetValueHashCode(value)); }
public bool GetHashCode(IDictionaryAdapter adapter, out int hashCode) { var id = adapter.GetProperty("Id", false); if (id != null) { hashCode = id.GetHashCode(); return true; } hashCode = 0; return false; }
public string Validate(IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property) { List<String> errors = new List<string>(); var globalRules = AttributesUtil.GetTypeAttributes<IValidationRule>(dictionaryAdapter.Meta.Type); var propertyRules = AttributesUtil.GetAttributes<IValidationRule>(property.Property); var propertyValue = dictionaryAdapter.GetProperty(property.PropertyName, true); ApplyValidationRules(dictionaryAdapter, propertyRules, property, propertyValue, errors); ApplyValidationRules(dictionaryAdapter, globalRules, property, propertyValue, errors); return String.Join(Environment.NewLine, errors.ToArray()); }
public bool GetHashCode(IDictionaryAdapter adapter, out int hashCode) { var id = adapter.GetProperty("Id", false); if (id != null) { hashCode = id.GetHashCode(); return(true); } hashCode = 0; return(false); }
public string Validate(IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property) { List <String> errors = new List <string>(); var globalRules = AttributesUtil.GetTypeAttributes <IValidationRule>(dictionaryAdapter.Meta.Type); var propertyRules = AttributesUtil.GetAttributes <IValidationRule>(property.Property); var propertyValue = dictionaryAdapter.GetProperty(property.PropertyName, true); ApplyValidationRules(dictionaryAdapter, propertyRules, property, propertyValue, errors); ApplyValidationRules(dictionaryAdapter, globalRules, property, propertyValue, errors); return(String.Join(Environment.NewLine, errors.ToArray())); }
protected override void VisitInterface( IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property, object state ) { var nested = (IDictionaryAdapter)dictionaryAdapter.GetProperty( property.PropertyName, true ); CollectHashCode(property, GetNestedHashCode(nested)); }
protected override void VisitCollection( IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property, Type collectionItemType, object state ) { var collection = (IEnumerable)dictionaryAdapter.GetProperty( property.PropertyName, true ); CollectHashCode(property, GetCollectionHashcode(collection)); }
public string Validate(IDictionaryAdapter dictionaryAdapter) { List<String> errors = new List<string>(); var globalRules = AttributesUtil.GetTypeAttributes<ValidationRuleAttribute>(dictionaryAdapter.Meta.Type); foreach (var property in dictionaryAdapter.This.Properties.Values) { var propertyRules = AttributesUtil.GetAttributes<ValidationRuleAttribute>(property.Property).Select(x => (IValidationRule)x); var propertyValue = dictionaryAdapter.GetProperty(property.PropertyName, true); ApplyValidationRules(dictionaryAdapter, propertyRules, property, propertyValue, errors); ApplyValidationRules(dictionaryAdapter, globalRules, property, propertyValue, errors); } return String.Join(Environment.NewLine, errors.ToArray()); }
private object[] GetFormatArguments(IDictionaryAdapter dictionaryAdapter, string formattedPropertyName) { var properties = Properties.Split(PropertyDelimeters, StringSplitOptions.RemoveEmptyEntries); var arguments = new object[properties.Length]; for (int i = 0; i < properties.Length; ++i) { var propertyName = properties[i]; if (propertyName != formattedPropertyName) { arguments[i] = dictionaryAdapter.GetProperty(propertyName); } else { arguments[i] = "(recursive)"; } } return arguments; }
public string Validate(IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property) { var key = dictionaryAdapter.GetKey(property.PropertyName); var value = dictionaryAdapter.GetProperty(property.PropertyName, true); var propinfo = property.Property; var context = new ValidationContext(value) { DisplayName = key, MemberName = propinfo.Name }; var attrs = propinfo.GetCustomAttributes(true).OfType <ValidationAttribute>().ToArray(); var results = new System.Collections.Generic.List <ValidationResult>(); return(Validator.TryValidateValue(value, context, results, attrs) ? String.Empty : string.Join(Environment.NewLine, results.Select(x => x.ErrorMessage))); }
public bool Equals(IDictionaryAdapter adapter1, IDictionaryAdapter adapter2) { var id1 = adapter1.GetProperty("Id", false); if (id1 == null) { return(false); } var id2 = adapter2.GetProperty("Id", false); if (id2 == null) { return(false); } return(id1.Equals(id2)); }
public string Validate(IDictionaryAdapter dictionaryAdapter, PropertyDescriptor property) { var key = dictionaryAdapter.GetKey(property.PropertyName); var value = dictionaryAdapter.GetProperty(property.PropertyName, true); var propinfo = property.Property; var context = new ValidationContext(value) { DisplayName = key, MemberName = propinfo.Name }; var attrs = propinfo.GetCustomAttributes(true).OfType<ValidationAttribute>().ToArray(); var results = new System.Collections.Generic.List<ValidationResult>(); return Validator.TryValidateValue(value, context, results, attrs) ? String.Empty : string.Join(Environment.NewLine, results.Select(x => x.ErrorMessage)); }