Example #1
0
        /// <summary>
        /// Merges a segment context into the errors collection.
        /// </summary>
        /// <param name="segmentName">The segment name.</param>
        /// <param name="segmentPosition">The segment position.</param>
        /// <param name="name">The data element name.</param>
        /// <param name="position">The data element position.</param>
        /// <param name="code">The error code.</param>
        /// <param name="componentPosition">The component data element position.</param>
        /// <param name="repetitionPosition">The repetition position.</param>
        /// <param name="value">The data element value;</param>
        internal void Add(string segmentName, int segmentPosition, string name, int position, ErrorCodes code, int componentPosition,
                          int repetitionPosition, string value)
        {
            var key = segmentName + segmentPosition;

            if (_errors.ContainsKey(key))
            {
                _errors[key].Add(name, position, code, componentPosition, repetitionPosition, value);
            }
            else
            {
                var segmentContext = new SegmentErrorContext(segmentName, segmentPosition);
                segmentContext.Add(name, position, code, componentPosition, repetitionPosition, value);
                _errors.Add(key, segmentContext);
            }
        }
Example #2
0
        /// <summary>
        /// Merges a segment context into the errors collection.
        /// </summary>
        /// <param name="segmentContext">The segment error context to merge.</param>
        internal void Add(SegmentErrorContext segmentContext)
        {
            var key = segmentContext.Name + segmentContext.Position;

            if (_errors.ContainsKey(key))
            {
                foreach (var error in segmentContext.Errors)
                {
                    _errors[key].Add(error.Name, error.Position, error.Code, error.ComponentPosition,
                                     error.RepetitionPosition, error.Value);
                }
            }
            else
            {
                _errors.Add(key, segmentContext);
            }
        }