public static void AddGenericError(this InterchangeErrors errors, string segmentName, int errorCode, string errorDescription)
        {
            if (errors == null)
            {
                throw new ArgumentNullException("errors");
            }

            GenericError genericError = new GenericError(errorCode, errorDescription, segmentName);

            EdiSectionErrors ediSectionErrors = GetEdiSectionErrors(errors, segmentName);

            ediSectionErrors.GenericErrorList.Add(genericError);
        }
        public static void AddSegmentError(this InterchangeErrors errors, string segmentName, int errorCode, string errorDescription, int segmentNumber)
        {
            if (errors == null)
            {
                throw new ArgumentNullException("errors");
            }

            string       explicitLoopId = "";
            SegmentError segmentError   = new SegmentError(segmentName, segmentNumber, errorCode, errorDescription, explicitLoopId);

            EdiSectionErrors ediSectionErrors = GetEdiSectionErrors(errors, segmentName);

            ediSectionErrors.SegmentErrorList.Add(segmentError);
        }
        public static void AddFieldError(this InterchangeErrors errors, string segmentName, int errorCode, string errorDescription, int positionInSegment, string fieldValue)
        {
            int    positionInField = -1;
            int    repetitionCount = 0;
            string refDesignator   = "";

            if (errors == null)
            {
                throw new ArgumentNullException("errors");
            }

            FieldError fieldError = new FieldError(positionInSegment, positionInField, repetitionCount, errorCode, errorDescription, fieldValue, refDesignator);

            EdiSectionErrors ediSectionErrors = GetEdiSectionErrors(errors, segmentName);

            ediSectionErrors.FieldErrorList.Add(fieldError);
        }
Example #4
0
        public static IEnumerable <SegmentValidationResult> GetSegmentValidationResults(this EdiSectionErrors ediSectionErrors)
        {
            List <SegmentValidationResult> segmentValidationResults = new List <SegmentValidationResult>();

            foreach (GenericError genericError in ediSectionErrors.GenericErrorList)
            {
                SegmentValidationResult segmentValidationResult = new SegmentValidationResult();
                segmentValidationResult.Type           = genericError.EdiErrorType == EdiErrorType.Error ? ResultType.Error : ResultType.Warning;
                segmentValidationResult.SequenceNumber = genericError.PositionInTS;
                segmentValidationResult.Name           = genericError.ApproxSegmentTag;
                segmentValidationResult.Description    = genericError.Description;
                segmentValidationResult.StartIndex     = genericError.StartIndex;
                segmentValidationResult.EndIndex       = genericError.EndIndex;

                segmentValidationResults.Add(segmentValidationResult);
            }

            foreach (SegmentError segmentError in ediSectionErrors.SegmentErrorList)
            {
                SegmentValidationResult segmentValidationResult = new SegmentValidationResult();
                segmentValidationResult.Type           = segmentError.EdiErrorType == EdiErrorType.Error ? ResultType.Error : ResultType.Warning;
                segmentValidationResult.SequenceNumber = segmentError.PositionInTS;
                segmentValidationResult.Name           = segmentError.SegmentID;
                segmentValidationResult.Description    = segmentError.Description;
                segmentValidationResult.StartIndex     = segmentError.StartIndex;
                segmentValidationResult.EndIndex       = segmentError.EndIndex;

                segmentValidationResults.Add(segmentValidationResult);
            }

            foreach (FieldError fieldError in ediSectionErrors.FieldErrorList)
            {
                SegmentValidationResult segmentValidationResult = new SegmentValidationResult();
                segmentValidationResult.Type           = fieldError.EdiErrorType == EdiErrorType.Error ? ResultType.Error : ResultType.Warning;
                segmentValidationResult.SequenceNumber = fieldError.PositionInTS;
                segmentValidationResult.Name           = fieldError.FieldId;
                segmentValidationResult.Description    = fieldError.Description;
                segmentValidationResult.StartIndex     = fieldError.StartIndex;
                segmentValidationResult.EndIndex       = fieldError.EndIndex;

                segmentValidationResults.Add(segmentValidationResult);
            }

            if (segmentValidationResults.Count > 1)
            {
                IOrderedEnumerable <SegmentValidationResult> orderedList = segmentValidationResults.OrderBy(error => error.SequenceNumber);
                List <SegmentValidationResult> segmentValidationResults2 = new List <SegmentValidationResult>();
                segmentValidationResults2.AddRange(orderedList);
                return(segmentValidationResults2);
            }

            return(segmentValidationResults);
        }