Beispiel #1
0
 private static IDataValidationErrors Merge(IDataValidationErrors result, IDataValidationErrors errors, int count)
 {
     for (int i = 0; i < count; i++)
     {
         result = result.Add(errors[i]);
     }
     return(result);
 }
Beispiel #2
0
 private void UpdateAsyncErrors(RowPresenter rowPresenter, IDataValidationErrors errors)
 {
     ClearAsyncErrors(rowPresenter);
     if (errors.Count > 0)
     {
         AsyncErrorsByRow.Add(rowPresenter, errors);
     }
 }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of <see cref="DataValidationResult"/>.
 /// </summary>
 /// <param name="dataRow">The DataRow.</param>
 /// <param name="errors">The validation errors of the DataRow.</param>
 public DataValidationResult(DataRow dataRow, IDataValidationErrors errors)
 {
     dataRow.VerifyNotNull(nameof(dataRow));
     errors.VerifyNotNull(nameof(errors));
     if (errors.Count == 0)
     {
         throw new ArgumentException(DiagnosticMessages.ValidationEntry_EmptyMessages, nameof(errors));
     }
     DataRow = dataRow;
     Errors  = errors.Seal();
 }
Beispiel #4
0
 public bool TryGetValue(DataRow dataRow, out IDataValidationErrors value)
 {
     if (Contains(dataRow))
     {
         value = this[dataRow].Errors;
         return(true);
     }
     else
     {
         value = null;
         return(false);
     }
 }
        /// <summary>
        /// Creates a <see cref="IDataValidationErrors"/> object.
        /// </summary>
        /// <param name="values">Values contained by the result object.</param>
        /// <returns>The created result object.</returns>
        public static IDataValidationErrors New(params DataValidationError[] values)
        {
            values.VerifyNotNull(nameof(values));

            if (values.Length == 0)
            {
                return(Empty);
            }

            IDataValidationErrors result = values.VerifyNotNull(0, nameof(values));

            for (int i = 1; i < values.Length; i++)
            {
                result = result.Add(values.VerifyNotNull(i, nameof(values)));
            }
            return(result);
        }
Beispiel #6
0
        private bool HasError(RowPresenter rowPresenter, IDataValidationErrors messages, IColumns columns, bool ensureVisible)
        {
            Debug.Assert(messages != null);

            for (int i = 0; i < messages.Count; i++)
            {
                var message = messages[i];
                if (ensureVisible && !IsVisible(rowPresenter, message.Source))
                {
                    continue;
                }
                if (columns == null || columns.IsSupersetOf(message.Source))
                {
                    return(true);
                }
            }

            return(false);
        }
        /// <summary>
        /// Parses JSON into <see cref="IDataValidationErrors"/> object.
        /// </summary>
        /// <param name="jsonReader">The <see cref="JsonReader"/>.</param>
        /// <param name="dataSet">The DataSet of validation.</param>
        /// <returns>The <see cref="IDataValidationErrors"/> object.</returns>
        public static IDataValidationErrors ParseDataValidationErrors(this JsonReader jsonReader, DataSet dataSet)
        {
            IDataValidationErrors result = DataValidationErrors.Empty;

            jsonReader.ExpectToken(JsonTokenKind.SquaredOpen);

            if (jsonReader.PeekToken().Kind == JsonTokenKind.CurlyOpen)
            {
                result = result.Add(jsonReader.ParseDataValidationError(dataSet));

                while (jsonReader.PeekToken().Kind == JsonTokenKind.Comma)
                {
                    jsonReader.ConsumeToken();
                    result.Add(jsonReader.ParseDataValidationError(dataSet));
                }
            }

            jsonReader.ExpectToken(JsonTokenKind.SquaredClose);

            return(result);
        }
Beispiel #8
0
        private static IDataValidationErrors Remove(IDataValidationErrors errors, Predicate <DataValidationError> predicate)
        {
            var result = errors;

            for (int i = 0; i < errors.Count; i++)
            {
                var error = errors[i];
                if (predicate(error))
                {
                    if (result != errors)
                    {
                        result = result.Add(error);
                    }
                    else
                    {
                        result = Merge(DataValidationErrors.Empty, errors, i);
                    }
                }
            }
            return(result);
        }
Beispiel #9
0
 private static IDataValidationErrors Merge(IDataValidationErrors result, IDataValidationErrors errors)
 {
     return(Merge(result, errors, errors.Count));
 }
Beispiel #10
0
 public bool TryGetValue(DataRow key, out IDataValidationErrors value)
 {
     value = null;
     return(false);
 }