private static void GetConstraints(Attribute[] attributes, IConstraintsNode constraintsNode) { if (attributes != null) { if (attributes.Any(x => x is RequiredAttribute)) { constraintsNode.IsRequired = true; } var stringLengthAttribute = attributes.OfType <StringLengthAttribute>().FirstOrDefault(); if (stringLengthAttribute != null) { constraintsNode.MinimumLength = stringLengthAttribute.MinimumLength; constraintsNode.MaximumLength = stringLengthAttribute.MaximumLength; } var minLengthAttribute = attributes.OfType <MinLengthAttribute>().FirstOrDefault(); if (minLengthAttribute != null) { constraintsNode.MinimumLength = minLengthAttribute.Length; } var maxLengthAttribute = attributes.OfType <MaxLengthAttribute>().FirstOrDefault(); if (maxLengthAttribute != null) { constraintsNode.MaximumLength = maxLengthAttribute.Length; } var compareAttribute = attributes.OfType <CompareAttribute>().FirstOrDefault(); if (compareAttribute != null) { constraintsNode.CompareTo = StringHelpers.ToCamelCase(compareAttribute.OtherProperty); } var rangeAttribute = attributes.OfType <RangeAttribute>().FirstOrDefault(); if (rangeAttribute != null) { constraintsNode.Minimum = rangeAttribute.Minimum; constraintsNode.Maximum = rangeAttribute.Maximum; } if (attributes.Any(x => x is EmailAddressAttribute)) { constraintsNode.Format = Format.Email; } } }
private static void GetConstraints(Attribute[] attributes, IConstraintsNode constraintsNode) { if (attributes != null) { if (attributes.Any(x => x is RequiredAttribute)) { constraintsNode.IsRequired = true; } var stringLengthAttribute = attributes.OfType<StringLengthAttribute>().FirstOrDefault(); if (stringLengthAttribute != null) { constraintsNode.MinimumLength = stringLengthAttribute.MinimumLength; constraintsNode.MaximumLength = stringLengthAttribute.MaximumLength; } var minLengthAttribute = attributes.OfType<MaxLengthAttribute>().FirstOrDefault(); if (minLengthAttribute != null) { constraintsNode.MinimumLength = minLengthAttribute.Length; } var maxLengthAttribute = attributes.OfType<MaxLengthAttribute>().FirstOrDefault(); if (maxLengthAttribute != null) { constraintsNode.MaximumLength = maxLengthAttribute.Length; } var compareAttribute = attributes.OfType<CompareAttribute>().FirstOrDefault(); if (compareAttribute != null) { constraintsNode.CompareTo = StringHelpers.ToCamelCase(compareAttribute.OtherProperty); } var rangeAttribute = attributes.OfType<RangeAttribute>().FirstOrDefault(); if (rangeAttribute != null) { constraintsNode.Minimum = rangeAttribute.Minimum; constraintsNode.Maximum = rangeAttribute.Maximum; } if (attributes.Any(x => x is EmailAddressAttribute)) { constraintsNode.Format = Format.Email; } } }