public static void ExecuteRule()
        {
            Dictionary <string, object> args   = new Dictionary <string, object>();
            ValidationRuleResult        result = new ValidationRuleResult();

            args.Add(PipeRuleSignature.PipeArgument.Name, new object());
            args.Add(PipeRuleSignature.ResultArgument.Name, result);
            RuleManagerInstance.InvokeRulePoint("/PipeRule", args);
        }
        public static void InitializeRule()
        {
            // Register rule point
            PipeRuleSignature signature = new PipeRuleSignature(RuleManagerInstance);

            RuleManagerInstance.RegisterRulePoint("/", "PipeRule", "Pipe Rule Demo", signature);

            // Register activities
            RegisterActivities();

            RegisterOperators();

            // Initialize UI
            RegisterDesigners();
            InitializeActivityTranslator();
        }
        public void ConfigureRule()
        {
            InitializeRule();

            ((RuleLibrary)RuleManagerInstance.Storage).Load();

            // Create a default rule
            RulePoint rp = RuleManagerInstance.GetRulePoint("/PipeRule");

            if (!rp.HasActivity)
            {
                rp.CreateDefaultWorkflow();
            }

            System.Windows.Application app    = new System.Windows.Application();
            RuleConfigDialog           dialog = RuleConfigDialog.GetInstance();

            dialog.SelectedRulePath = "/PipeRule";
            app.Run(dialog);

            ((RuleLibrary)RuleManagerInstance.Storage).Save();
        }