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);
 }
        /// <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);
        }
        /// <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);
        }