<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a very simple business object." %> <%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Source Data" Description="Table being updated or inserted." %> <%@ Property Name="SecondaryTable" Type="SchemaExplorer.TableSchema" Optional="True" Category="Source Data" Description="2nd Table being updated or inserted." %> <%@ Property Name="DLRoot" Type="System.String" Category="Context" Description="The root name of the generated Methods, ex: 'Update_Users_'" %> <%@ Property Name="PassedBusObject" Type="System.String" Category="Context" Description="Business Object containing data, ex: 'UpdateUsers (_UserConfig_ user)'" %> <%@ Property Name="BusObjectVariable" Type="System.String" Category="Context" Description="Business Object local variable, ex: 'user'" %> <%@ Property Name="PrimaryKeyName" Type="System.String" Category="Context" Description="Primary key of table. ex: uid" %> <%@ Assembly Name="SchemaExplorer" %> <%@ Assembly Name="System.Data" %> <%@ Import Namespace="SchemaExplorer" %> <%@ Import Namespace="System.Data" %> public static void Update<%= DLRoot %>(<%= PassedBusObject %> <%= BusObjectVariable %>) { string sql = "select * from <%= SourceTable %> where <%= PrimaryKeyName %> = " + <%= BusObjectVariable %>.<%= PrimaryKeyName %>; SqlConnection cn = new SqlConnection(DataHelper.ConnectionString); cn.Open(); DataSet ds = new DataSet(); ds.EnforceConstraints = true; SqlDataAdapter da = new SqlDataAdapter(sql, cn); da.Fill(ds,"<%= SourceTable %>"); DataTable dt = ds.Tables["<%= SourceTable %>"]; DataRow drw = dt.Rows[0]; <% foreach (ColumnSchema column in SourceTable.NonPrimaryKeyColumns) { %> <%= MakeRowStatement(column, BusObjectVariable) %> <% } %> SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds,"<%= SourceTable %>"); <% if(SecondaryTable != null) { %> sql = "select * from <%= SecondaryTable %> where <%= PrimaryKeyName %> = " + <%= BusObjectVariable %>.<%= PrimaryKeyName %>; ds.EnforceConstraints = true; SqlDataAdapter da2 = new SqlDataAdapter(sql, cn); da2.Fill(ds,"<%= SecondaryTable %>"); DataTable dt2 = ds.Tables["<%= SecondaryTable %>"]; DataRow drw2 = dt2.Rows[0]; <% foreach (ColumnSchema column in SecondaryTable.NonPrimaryKeyColumns) { %> <%= MakeRow2Statement(column, BusObjectVariable) %> <% } %> SqlCommandBuilder cb2 = new SqlCommandBuilder(da2); da2.Update(ds,"<%= SecondaryTable %>"); <% } %> cn.Close(); } public static int Add<%= DLRoot %>(<%= PassedBusObject %> <%= BusObjectVariable %>) { string sql = "select * from <%= SourceTable %> where <%= PrimaryKeyName %> = 0"; SqlConnection cn = new SqlConnection(DataHelper.ConnectionString); cn.Open(); DataSet ds = new DataSet(); ds.EnforceConstraints = true; SqlDataAdapter da = new SqlDataAdapter(sql, cn); da.Fill(ds,"<%= SourceTable %>"); DataTable dt = ds.Tables["<%= SourceTable %>"]; DataRow drw = dt.NewRow(); <% foreach (ColumnSchema column in SourceTable.NonPrimaryKeyColumns) { %> <%= MakeRowStatement(column, BusObjectVariable) %> <% } %> dt.Rows.Add(drw); SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds,"<%= SourceTable %>"); SqlCommand cmd2 = new SqlCommand("select @@identity", cn); object <%= PrimaryKeyName %>= cmd2.ExecuteScalar(); <% if(SecondaryTable != null) { %> sql = "select * from <%= SecondaryTable %> where <%= PrimaryKeyName %> = 0"; ds.EnforceConstraints = true; SqlDataAdapter da2 = new SqlDataAdapter(sql, cn); da2.Fill(ds,"<%= SecondaryTable %>"); DataTable dt2 = ds.Tables["<%= SecondaryTable %>"]; DataRow drw2 = dt2.NewRow(); drw2["<%= PrimaryKeyName %>"] = int.Parse(<%= PrimaryKeyName %>.ToString()); <% foreach (ColumnSchema column in SecondaryTable.NonPrimaryKeyColumns) { %> <%= MakeRow2Statement(column, BusObjectVariable) %> <% } %> dt2.Rows.Add(drw2); SqlCommandBuilder cb2 = new SqlCommandBuilder(da2); da2.Update(ds,"<%= SecondaryTable %>"); <% } %> cn.Close(); return int.Parse(<%= PrimaryKeyName %>.ToString()); }