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