Пример #1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            string path = Path.Combine(Application.StartupPath, "Settings", "Settings.xml");
            #if generateSettingsFile
            Settings = new List<Models.Output.Settings>();

            CodeSettings codeSettings = new CodeSettings();
            codeSettings.CreateSubClass = false;
            codeSettings.IncludeComments = true;
            codeSettings.InheritedClasses = new List<string>(new [] {"System.Object"});
            codeSettings.MethodSettings = new MethodSettings();
            codeSettings.MethodSettings.NameFormat = "[workflow]_[ruleSet]_[ruleName]";
            codeSettings.MethodSettings.ParametersFormat = "object model, string expression";
            codeSettings.MethodSettings.Returns = typeof(bool).FullName;
            codeSettings.ModelType = "System.Object";
            codeSettings.Namespace = "WFE.ExtractedCode";
            codeSettings.References = new List<string>(new[] { "System", "System.Collections.Generic", "System.Linq"});

            Settings.Add(codeSettings);
            Settings.Add(new DocumentSettings());

            string content = Serializer.Serialize<List<Settings>>(Settings, Encoding.UTF8);
            File.WriteAllText(path , content);
            #else
            string content = File.ReadAllText(path);
            Settings = Serializer.Deserialize<List<Settings>>(content, Encoding.UTF8);
            #endif

            Application.Run(new frmMain());
        }
        public RulesCodeGenerator(List<RuleSetDomModel> model, Settings settings, bool runAsync)
            : base(model, settings, runAsync)
        {
            if (settings.GetLanguage() > OutputFormat.VBNet)
                throw new NotSupportedException("Output Language not supported:" + settings.GetLanguage());

            if (settings.GetType() != typeof(CodeSettings)) // create default codesettings
                _codeSettings = new CodeSettings("ClassName", settings.GetOutputDirectory(), settings.GetLanguage());
            else
                _codeSettings = (CodeSettings)settings;

            Name = "Rules to Code Generator";
        }