private static void addXRulesToView(List <IXRule> xRules) { Console.WriteLine("\nMapping Rules:"); var loadedXRules = XRules_Execution.getLoadedXRules(xRules); Console.WriteLine("\nCurrent loaded Rules:"); foreach (var xRule in loadedXRules) { O2Cmd.log.write("\n rule: {0} ", xRule.XRule.Name); foreach (var method in xRule.methods) { Console.WriteLine(" method: {0} ", method.Key.Name); } } compilationComplete = true; }
public void addXRulesToView(List <IXRule> xRules) { var loadedXRules = XRules_Execution.getLoadedXRules(xRules); this.invokeOnThread( () => { try { var currentSelectedItem = lbCompiledXRules.SelectedItem; lbCompiledXRules.Enabled = false; lbCompiledXRules.Items.Clear(); lbCompiledXRules.Items.AddRange(loadedXRules.ToArray()); if (lbCompiledXRules.Items.Count > 0) { if (currentSelectedItem == null) { lbCompiledXRules.SelectedIndex = 0; } else { foreach (var newItem in lbCompiledXRules.Items) { if (newItem.ToString() == currentSelectedItem.ToString()) { lbCompiledXRules.SelectedItem = newItem; return; } } } } } finally { DI.log.info("Completed addXRulesToView"); //lbCompiledXRules.Enabled = true; setGuiEnableState(true); } }); }
private static void onCompilationComplete(List <IXRule> xRules, string ruleToExecute, string methodToExecute, string[] methodParameters) { var loadedXRules = XRules_Execution.getLoadedXRules(xRules); Console.WriteLine("\nCompilation Done, now finding rule '{0}' and method '{1}'", ruleToExecute, methodToExecute); MethodInfo resolvedMethod = null; IXRule resolvedXRule = null; foreach (var loadedXRule in loadedXRules) { if (loadedXRule.XRule.Name == ruleToExecute) { foreach (var method in loadedXRule.methods) { if (method.Key.Name == methodToExecute) { resolvedXRule = loadedXRule.XRule; resolvedMethod = method.Value; break; } } } if (resolvedMethod != null) { break; } } if (resolvedMethod != null) { executeMethod(resolvedXRule, resolvedMethod, methodParameters); } else { Console.WriteLine("\nERROR: Could NOT findmethod to execute"); } compilationComplete = true; }