/// <summary> /// Starts applying SQL Rules to page /// </summary> public void ApplySqlPageRules(string scriptName, string sqlFileContent) { List <Rule> relatedRules = _scriptCheck.FindRulesRelatedToScript(sqlFileContent, _sQLPageRules); relatedRules.ForEach(rule => { sqlFileContent = _replaceLogic.ApplyReplacementRules(rule.Replace, sqlFileContent); }); Rule templateRule = relatedRules.Where(rule => rule.TemplateName != null).FirstOrDefault(); SqlTemplate sqlTemplate = _processTemplate.GetTemplateForSqlScript(templateRule); if (relatedRules.Count == 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"No Matching rules for this script type for {scriptName}"); Console.ResetColor(); return; } if (templateRule.GetScriptNameFromFile) { scriptName = _replaceLogic.ApplyNewScriptName(sqlFileContent); } if (string.IsNullOrEmpty(scriptName)) { return; } ProcessRulesOutput(sqlTemplate, scriptName, sqlFileContent); }