/// <summary>
/// Checks for the existence of a parameter and adds it if missing/optionally changes it
/// </summary>
/// <returns>True if made a change</returns>
internal bool NewOrReplaceTemplateParm(string ParameterName, string ParameterValue, Article TheArticle, bool LogItAndUpdateEditSummary, bool ParamHasAlternativeName, bool DontChangeIfSet = false, string ParamAlternativeName = "", string PluginName = "", bool MinorEditOnlyIfAdding = false)
{
bool res;
if (Parameters.ContainsKey(ParameterName))
{
res = ReplaceTemplateParm(ParameterName, ParameterValue, TheArticle, LogItAndUpdateEditSummary, DontChangeIfSet, PluginName);
}
else if (ParamHasAlternativeName && Parameters.ContainsKey(ParamAlternativeName))
{
res = ReplaceTemplateParm(ParamAlternativeName, ParameterValue, TheArticle, LogItAndUpdateEditSummary, DontChangeIfSet, PluginName);
// Doesn't contain parameter
}
else
{
NewTemplateParm(ParameterName, ParameterValue, LogItAndUpdateEditSummary, TheArticle, PluginName, MinorEditOnlyIfAdding);
if (MinorEditOnlyIfAdding)
{
TheArticle.ArticleHasAMinorChange();
}
else
{
TheArticle.ArticleHasAMajorChange();
}
return(true);
}
if (res)
{
TheArticle.ArticleHasAMajorChange();
}
return(res);
}