Example #1
0
        public void Test()
        {
            var cfg = new CodeRunnerConfig();
            var configOptions = new DefaultConfigurationOptions();
            configOptions.EnumNamespace = "The.Enum.Namespace";
            var enumList = new List<EnumDescriptor>();
            enumList.Add(new EnumDescriptor { TableName = "TransactionLineType", NameField = "Label", ValueField = "ID" });
            configOptions.Enums = enumList;

            configOptions.ConnectionString = "user id=sa;password=anja8247;server=(local);database=Lars";
            configOptions.OutputPath = @"C:\dev";
            configOptions.EnumOutputPath = @"C:\dev";
            cfg.DbProvider = new SqlServerProvider(new DbHelper(configOptions.ConnectionString));
            cfg.Generator = new ConfigurableActiveRecordGenerator(configOptions);
            cfg.NameProvider = new NameProvider();
            cfg.Options = configOptions;
            cfg.Writer = (s) => { return Console.Out; };
            var codeRunner = new CodeRunnerImpl(cfg);
            codeRunner.Execute();
        }
 public void Can_generate_associations()
 {
     string connString = "integrated security=SSPI;server=(local);database=Lars";
     var dbprovider = new SqlServerProvider(new DbHelper(connString));
     var configOptions = new DefaultConfigurationOptions();
     var generator = new AwishModelGenerator(); //new ConfigurableActiveRecordGenerator(configOptions);
     generator.ConfigOptions = configOptions;
     //foreach (var tbl in dbprovider.GetTableSchemas().Where(tbl => { return tbl.PrimaryKey != null; }))
     //{
     var tbl = dbprovider.GetTableSchema("LeasePaymentDescriptorLease");
     //var fkrefs = tbl.PrimaryKey.ForeignKeyReferences;
     //foreach (var fkref in fkrefs)
     //{
     //
     //}
     var theNs = new NamespaceDeclaration("Awish.Lars.Data");
     var cdecl = generator.Generate(theNs, tbl);
     new CodeBuilder().GenerateCode(Console.Out, "Awish.Lars.Data", cdecl);
     //}
 }
        public IEnumerable<IConfigurationOptions> ParseXml(string contentsOfConfigFile)
        {
            if (String.IsNullOrEmpty(contentsOfConfigFile))
                throw new ArgumentException("contentsOfConfigFile is null or empty.", "contentsOfConfigFile");

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(contentsOfConfigFile);
            XmlNodeList configNodes = doc.DocumentElement.SelectNodes("//config");
            var result = new List<IConfigurationOptions>();
            foreach (XmlNode configNode in configNodes)
            {
                IConfigurationOptions options = new DefaultConfigurationOptions();
                var attrib = new AttributeHelper(".//add[@key='{0}']/@value", configNode);
                options.AssemblyDirectory = attrib.Get("assemblydirectory");
                options.AbstractBaseName = attrib.Get("abstractbasename");
                options.BaseTypeName = attrib.Get("basetypename");
                options.ConnectionString = attrib.Get("connectionstring");
                options.DataNamespace = attrib.Get("datanamespace");
                options.IocVerboseLogging = attrib.GetBool("iocverboselogging", false);
                options.GenerateColumnList = attrib.GetBool("generatecolumnlist", true);
                options.GenerateComments = attrib.GetBool("generatecomments", true);
                options.UseMicrosoftsHeader = attrib.GetBool("usemicrosoftsheader", false);
                options.Namespace = attrib.Get("namespace");
                options.OutputPath = attrib.Get("outputpath");
                options.EnumOutputPath = attrib.Get("enumoutputpath");
                options.EnumNamespace = attrib.Get("enumnamespace");
                options.StaticPrimaryKeyName = attrib.Get("staticprimarykeyname");
                options.OnlyTablesWithPrefix.AddRange(attrib.Get("onlytableswithprefix").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
                options.SkipTablesWithPrefix.AddRange(attrib.Get("skiptableswithprefix").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
                options.SkipTables.AddRange(attrib.Get("skiptables").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
                options.Enums = ParseEnums(configNode);
                LoadEnumReplacements(configNode, options);
                options.Components = ParseComponents(configNode);
                result.Add(options);
            }
            return result;
        }
Example #4
0
 private IEnumerable<IConfigurationOptions> Convert(ObservableCollection<ConfigurationOptionsViewModel> models)
 {
     var result = new List<IConfigurationOptions>();
     foreach(var model in models)
     {
         var option = new DefaultConfigurationOptions();
         option.AbstractBaseName = model.AbstractBaseName;
         option.AssemblyDirectory = model.AssemblyDirectory;
         option.BaseTypeName = model.BaseTypeName;
         option.ConnectionString = model.ConnectionString;
         option.DataNamespace = model.DataNamespace;
         option.EnumNamespace = model.EnumNamespace;
         option.EnumOutputPath = model.EnumOutputPath;
         option.GenerateColumnList = model.GenerateColumnList;
         option.GenerateComments = model.GenerateComments;
         option.IocVerboseLogging = model.IocVerboseLogging;
         option.Namespace = model.Namespace;
         option.OnlyTablesWithPrefix.AddRange(model.OnlyTablesWithPrefix);
         option.OutputPath = model.OutputPath;
         option.SkipTables.AddRange(model.SkipTables);
         option.SkipTablesWithPrefix.AddRange(model.SkipTablesWithPrefix);
         option.StaticPrimaryKeyName = model.StaticPrimaryKeyName;
         option.UseMicrosoftsHeader = model.UseMicrosoftsHeader;
         option.Components = model.Components;
         option.EnumReplacements = model.EnumReplacements;
         option.Enums = model.Enums;
         result.Add(option);
     }
     return result;
 }