/// <summary> /// Process a "find and replace" /// </summary> /// <param name="findAndReplace">A FindandReplace object</param> /// <param name="substTemplates">A SubstTemplates object</param> /// <param name="replaceSpecial">An MWB ReplaceSpecial object</param> /// <param name="SkipIfNoChange">True if the article should be skipped if no changes are made</param> public void PerformFindAndReplace(FindandReplace findAndReplace, SubstTemplates substTemplates, ReplaceSpecial.ReplaceSpecial replaceSpecial, bool SkipIfNoChange) { if (!findAndReplace.HasReplacements && !replaceSpecial.HasRules && !substTemplates.HasSubstitutions) { return; } string strTemp = mArticleText.Replace("\r\n", "\n"), testText = strTemp, tmpEditSummary = ""; strTemp = findAndReplace.MultipleFindAndReplace(strTemp, mName, ref tmpEditSummary); strTemp = replaceSpecial.ApplyRules(strTemp, mName); strTemp = substTemplates.SubstituteTemplates(strTemp, mName); if (testText == strTemp) { if (SkipIfNoChange) { Trace.AWBSkipped("No Find And Replace Changes"); } else { return; } } else { AWBChangeArticleText("Find and replace applied" + tmpEditSummary, strTemp.Replace("\n", "\r\n"), true); EditSummary += tmpEditSummary; } }
/// <summary> /// Process a "find and replace" /// </summary> /// <param name="findAndReplace">A FindandReplace object</param> /// <param name="substTemplates">A SubstTemplates object</param> /// <param name="replaceSpecial">An MWB ReplaceSpecial object</param> /// <param name="SkipIfNoChange">True if the article should be skipped if no changes are made</param> public void PerformFindAndReplace(FindandReplace findAndReplace, SubstTemplates substTemplates, MWB.ReplaceSpecial replaceSpecial, bool SkipIfNoChange) { string strTemp = mArticleText.Replace("\r\n", "\n"), testText = strTemp, tmpEditSummary = ""; strTemp = findAndReplace.MultipleFindAndReplace(strTemp, mName, ref tmpEditSummary); strTemp = replaceSpecial.ApplyRules(strTemp, mName); strTemp = substTemplates.SubstituteTemplates(strTemp, mName); // TODO: Possible bug, this was "articleTitle" not "Name" if (SkipIfNoChange && (testText == strTemp)) // NoChange { Trace.AWBSkipped("No Find And Replace Changes"); } else { AWBChangeArticleText("Find and replace applied" + tmpEditSummary, strTemp.Replace("\n", "\r\n"), false); EditSummary += tmpEditSummary; } }