internal bool IsMaxLengthViolated()
{
if (MaxLength < 0)
return true;
bool error = false;
object value;
string errorText = null;
foreach (DataRow dr in Table.Rows)
{
if (dr.HasVersion(DataRowVersion.Current))
{
value = dr[this];
if (!_isSqlType)
{
if (value != null && value != DBNull.Value && ((string)value).Length > MaxLength)
{
if (errorText == null)
{
errorText = ExceptionBuilder.MaxLengthViolationText(ColumnName);
}
dr.RowError = errorText;
dr.SetColumnError(this, errorText);
error = true;
}
}
else
{
if (!DataStorage.IsObjectNull(value) && ((SqlString)value).Value.Length > MaxLength)
{
if (errorText == null)
{
errorText = ExceptionBuilder.MaxLengthViolationText(ColumnName);
}
dr.RowError = errorText;
dr.SetColumnError(this, errorText);
error = true;
}
}
}
}
return error;
}