Exemple #1
0
        public void ProcedureTest()
        {
            var schema = PrepareModel();

            var procedure = new DatabaseStoredProcedure {
                Name = "SelectCategory"
            };
            var argument = new DatabaseArgument
            {
                Name             = "p1",
                DatabaseDataType = "VARCHAR",
                Length           = 10,
                DataType         = DataTypeConverter.FindDataType("VARCHAR", schema.DataTypes, SqlType.SqlServer, null),
                In = true,
            };

            procedure.Arguments.Add(argument);
            var rs           = new DatabaseResultSet();
            var resultColumn = new DatabaseColumn {
                Name = "Output", DbDataType = "VARCHAR"
            };

            DataTypeConverter.AddDataType(resultColumn);
            rs.Columns.Add(resultColumn);
            procedure.ResultSets.Add(rs);
            schema.StoredProcedures.Add(procedure);

            var          directory  = TestHelper.CreateDirectory("MySprocTest");
            const string @namespace = "MySprocTest";
            var          settings   = new CodeWriterSettings
            {
                Namespace             = @namespace,
                CodeTarget            = CodeTarget.Poco,
                WriteStoredProcedures = true
            };

            var target = new CodeWriter(schema, settings);

            target.Execute(directory);

            var procedures = directory.GetDirectories("Procedures").FirstOrDefault();

            if (procedures == null)
            {
                Assert.Fail("Could not find Procedures subdirectory");
            }
            var files    = procedures.GetFiles("*.cs");
            var products = files.FirstOrDefault(f => f.Name == "SelectCategory.cs");

            Assert.IsNotNull(products, "Should have written SelectCategory class for SelectCategory procedure");

            var category = files.FirstOrDefault(f => f.Name == "SelectCategoryResult.cs");

            Assert.IsNotNull(category, "Should have written SelectCategoryResult class to the result of the sproc");
        }
Exemple #2
0
 /// <summary>
 /// Adds a column.
 /// </summary>
 /// <param name="databaseTable">The database table.</param>
 /// <param name="databaseColumn">The database column.</param>
 /// <returns></returns>
 public static DatabaseColumn AddColumn(this DatabaseTable databaseTable, DatabaseColumn databaseColumn)
 {
     if (databaseTable == null)
     {
         throw new ArgumentNullException("databaseTable", "databaseTable must not be null");
     }
     if (databaseColumn == null)
     {
         throw new ArgumentNullException("databaseColumn", "databaseColumn must not be null");
     }
     //adds the column with backreferences
     databaseTable.Columns.Add(databaseColumn);
     databaseColumn.Table          = databaseTable;
     databaseColumn.TableName      = databaseTable.Name;
     databaseColumn.DatabaseSchema = databaseTable.DatabaseSchema;
     DataTypeConverter.AddDataType(databaseColumn);
     return(databaseColumn);
 }