예제 #1
0
        /// <summary>
        /// Returns a list of errors after checking the alphanumerics
        /// e.g: AB12
        /// </summary>
        /// <param name="sourceText"></param>
        /// <param name="targetText"></param>
        /// <returns></returns>
        public IEnumerable <ErrorReporting> CheckAlphanumerics(string sourceText, string targetText)
        {
            var sourceAlphanumericsList = GetAlphanumericList(sourceText);

            // find all alphanumeric names in target and add to list
            var targetAlphanumericsList = GetAlphanumericList(targetText);

            // remove alphanumeric names found both in source and target from respective list
            RemoveMatchingAlphanumerics(sourceAlphanumericsList, targetAlphanumericsList);

            var numberResults = new NumberResults(VerificationSettings,
                                                  sourceAlphanumericsList,
                                                  targetAlphanumericsList);

            var alphanumericErrorComposer = new AlphanumericErrorComposer();
            var verifyProcessor           = alphanumericErrorComposer.Compose();

            return(verifyProcessor.Verify(numberResults));
        }
예제 #2
0
        /// <summary>
        /// Returns a list of errors after checking the alphanumerics
        /// e.g: AB12
        /// </summary>
        /// <param name="sourceText"></param>
        /// <param name="targetText"></param>
        /// <param name="sourceExcludedRanges"></param>
        /// <param name="targetExcludedRanges"></param>
        /// <returns></returns>
        public IEnumerable <ErrorReporting> CheckAlphanumerics(string sourceText, string targetText, List <ExcludedRange> sourceExcludedRanges = null, List <ExcludedRange> targetExcludedRanges = null)
        {
            if (!_verificationSettings.CustomsSeparatorsAlphanumerics && !_verificationSettings.ReportModifiedAlphanumerics)
            {
                return(Enumerable.Empty <ErrorReporting>());
            }
            try
            {
                var sourceAlphanumericsList = GetAlphanumericList(sourceText, true, sourceExcludedRanges);

                // find all alphanumeric names in target and add to list
                var targetAlphanumericsList = GetAlphanumericList(targetText, false, targetExcludedRanges);

                // remove alphanumeric names found both in source and target from respective list
                RemoveMatchingAlphanumerics(sourceAlphanumericsList.Item2, targetAlphanumericsList.Item2);
                var numberModel = new NumberModel
                {
                    Settings             = VerificationSettings,
                    SourceNumbers        = sourceAlphanumericsList.Item2,
                    TargetNumbers        = targetAlphanumericsList.Item2,
                    InitialSourceNumbers = sourceAlphanumericsList.Item1,
                    InitialTargetNumbers = targetAlphanumericsList.Item1,
                    SourceText           = sourceText,
                    TargetText           = targetText
                };
                var numberResults = new NumberResults(numberModel);

                var alphanumericErrorComposer = new AlphanumericErrorComposer();
                var verifyProcessor           = alphanumericErrorComposer.Compose();

                return(verifyProcessor.Verify(numberResults));
            }
            catch (Exception ex)
            {
                _logger.Error($"{MethodBase.GetCurrentMethod().Name} \n {ex}");
                return(new List <ErrorReporting>());
            }
        }