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