diff --git a/PROMS/MyGeneration/csla_21/CSLA_Objects.csgen b/PROMS/MyGeneration/csla_21/CSLA_Objects.csgen
index 7e7d85fa..e546926d 100644
--- a/PROMS/MyGeneration/csla_21/CSLA_Objects.csgen
+++ b/PROMS/MyGeneration/csla_21/CSLA_Objects.csgen
@@ -454,7 +454,7 @@ public class GeneratedTemplate : DotNetScriptTemplate
_subclassName = ClassName( fk.PrimaryTable);
else
_subclassName = ClassName( fk.PrimaryTable) + ClassName( fk.ForeignTable )+sAlias;
- _tableName = "//TODO: No Table Name";
+ _tableName = "//CSLATODO: No Table Name";
vlnHeader("\r\nusing System.Collections.Generic;\r\nusing Csla.Validation;");
string sInterface = "";
if (_chkPartCM)
@@ -855,7 +855,8 @@ namespace <%=_nameSpace%>
//sExtDirty += " || " + MemberName(sLists+sAlias) + ".IsDirty";
//sExtValid += " && " + MemberName(sLists+sAlias) + ".IsValid";
sExtDirty += string.Format(" || ({0} == null ? false : {0}.IsDirtyList(list))",MemberName(sLists+sAlias));
- sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValid)",MemberName(sLists+sAlias));
+ // Added List 20100924
+ sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValidList(list))",MemberName(sLists+sAlias));
} else {
string sItem = ClassName(fk.ForeignTable);
//vlnProperty(sItem+sAlias, MemberName("My" + sItem)+sAlias,"My" + sItem + sAlias,
@@ -866,7 +867,7 @@ namespace <%=_nameSpace%>
" = null;","Related Field" + Debug("20070501.1"),true,false,true,fk,sCheck,null,null);
bool bReq = !fk.ForeignColumns[0].IsNullable;
sExtDirty += string.Format(" || ({0} == null ? false : {0}.IsDirtyList(list))",MemberName("My" + sItem+sAlias));
- sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValid)",MemberName("My" + sItem+sAlias));
+ sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValidList(list))",MemberName("My" + sItem+sAlias));
}
}
else //
@@ -877,7 +878,7 @@ namespace <%=_nameSpace%>
//sExtDirty += string.Format(" || ({0} == null? " + bReq.ToString().ToLower() + " : {0}.IsDirty)",MemberName("My" + sClass));
//sExtValid += string.Format(" && ({0} == null? " + (!bReq).ToString().ToLower() + " : {0}.IsValid)",MemberName("My" + sClass));
sExtDirty += string.Format(" || ({0} == null ? false : {0}.IsDirtyList(list))",MemberName("My" + sClass));
- sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValid)",MemberName("My" + sClass));
+ sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValidList(list))",MemberName("My" + sClass));
}
}
}
@@ -1045,7 +1046,7 @@ namespace <%=_nameSpace%>
if (<%=sMemberName%><%=suffix%> != tmp.ToString())
{
<%=sMemberName%><%=suffix%> = tmp.ToString();
- // TODO: Any Cross Property Validation
+ // CSLATODO: Any Cross Property Validation
}
}
catch
@@ -1091,7 +1092,7 @@ namespace <%=_nameSpace%>
private void vlnToString(IColumns Columns)
{
%>
- // TODO: Replace base <%=_className%>.ToString function as necessary
+ // CSLATODO: Replace base <%=_className%>.ToString function as necessary
///
/// Overrides Base ToString
///
@@ -1118,14 +1119,14 @@ namespace <%=_nameSpace%>
keyID+=").GetHashCode()";
}
%>
- // TODO: Check <%=_className%>.GetIdValue to assure that the ID returned is unique
+ // CSLATODO: Check <%=_className%>.GetIdValue to assure that the ID returned is unique
///
/// Overrides Base GetIdValue - Used internally by CSLA to determine equality
///
/// A Unique ID for the current <%=_className%>
protected override object GetIdValue()
{
- return <%=keyID%>;
+ return My<%=_className%>Unique; // Absolutely Unique ID
}<%
}
private string extName
@@ -1198,12 +1199,12 @@ namespace <%=_nameSpace%>
%>
//ValidationRules.AddDependantProperty("x", "y");
<%=extMName%>.AddValidationRules(ValidationRules);
- // TODO: Add other validation rules
+ // CSLATODO: Add other validation rules
}
protected override void AddInstanceBusinessRules()
{
<%=extMName%>.AddInstanceValidationRules(ValidationRules);
- // TODO: Add other validation rules
+ // CSLATODO: Add other validation rules
}<%
foreach(IColumn field in Columns)
{
@@ -1282,7 +1283,7 @@ namespace <%=_nameSpace%>
#region Authorization Rules
protected override void AddAuthorizationRules()
{
- //TODO: Who can read/write which fields<%
+ //CSLATODO: Who can read/write which fields<%
foreach(IColumn field in Columns)
{
if (field.DataTypeName != "timestamp"){
@@ -1303,23 +1304,23 @@ namespace <%=_nameSpace%>
}
protected override void AddInstanceAuthorizationRules()
{
- //TODO: Who can read/write which fields
+ //CSLATODO: Who can read/write which fields
<%=extMName%>.AddInstanceAuthorizationRules(AuthorizationRules);
}
public static bool CanAddObject()
{
- // TODO: Can Add Authorization
+ // CSLATODO: Can Add Authorization
//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
return true;
}
public static bool CanGetObject()
{
- // TODO: CanGet Authorization
+ // CSLATODO: CanGet Authorization
return true;
}
public static bool CanDeleteObject()
{
- // TODO: CanDelete Authorization
+ // CSLATODO: CanDelete Authorization
//bool result = false;
//if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true;
//if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true;
@@ -1373,7 +1374,7 @@ namespace <%=_nameSpace%>
%>
public static bool CanEditObject()
{
- // TODO: CanEdit Authorization
+ // CSLATODO: CanEdit Authorization
//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
return true;
}
@@ -1414,7 +1415,7 @@ namespace <%=_nameSpace%>
protected static int <%=_className%>Unique
{ get { return ++_<%=_className%>Unique; } }
private int _My<%=_className%>Unique = <%=_className%>Unique;
- public int My<%=_className%>Unique
+ public int My<%=_className%>Unique // Absolutely Unique ID - Editable
{ get { return _My<%=_className%>Unique; } }
protected <%=_className%>()
{/* require use of factory methods */
@@ -1899,14 +1900,14 @@ namespace <%=_nameSpace%>
}
// DataPortal_Create
%>
- // TODO: If Create needs to access DB - It should not be marked RunLocal
+ // CSLATODO: If Create needs to access DB - It should not be marked RunLocal
[RunLocal()]
private new void DataPortal_Create()
{
<%=FormatColumns("{member} = new Guid();",Guid(Columns),"\r\n","\t\t\t")%><%=FormatColumns("{member} = Next{prop};",AutoKey(Columns),"\r\n","\t\t\t")%>
// Database Defaults
<%=FormatColumns("{member} = " + extMName + ".Default{prop};",HasDefaults(Columns),"\r\n","\t\t\t")%>
- // TODO: Add any defaults that are necessary
+ // CSLATODO: Add any defaults that are necessary
ValidationRules.CheckRules();
}<%
vlnReadData(Columns,true);
@@ -1988,7 +1989,7 @@ namespace <%=_nameSpace%>
}
}
%>
- // TODO: Define any additional output parameters
+ // CSLATODO: Define any additional output parameters
cm.ExecuteNonQuery();
// Save all values being returned from the Procedure<%
foreach(IColumn column in Columns)
@@ -2087,7 +2088,7 @@ namespace <%=_nameSpace%>
}
}
%>
- // TODO: Define any additional output parameters
+ // CSLATODO: Define any additional output parameters
cm.ExecuteNonQuery();
// Save all values being returned from the Procedure<%
IColumn tsCol=null;
@@ -2168,7 +2169,7 @@ namespace <%=_nameSpace%>
}
}
%>
- // TODO: Define any additional output parameters
+ // CSLATODO: Define any additional output parameters
cm.ExecuteNonQuery();
// Save all values being returned from the Procedure<%
foreach(IColumn column in Columns)
@@ -2384,7 +2385,7 @@ namespace <%=_nameSpace%>
}
}
%>
- // TODO: Define any additional output parameters
+ // CSLATODO: Define any additional output parameters
cm.ExecuteNonQuery();
// Save all values being returned from the Procedure<%
tsCol=null;
@@ -2466,7 +2467,7 @@ namespace <%=_nameSpace%>
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "delete<%=_className%>";
// Input PK Fields<%=sValuesD%>
- // TODO: Define any additional output parameters
+ // CSLATODO: Define any additional output parameters
cm.ExecuteNonQuery();
}
}
@@ -2640,11 +2641,11 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
// Read members
//output.write(FormatColumns(dicRead,Columns,"","\r\n\t\t\t\t\t\t\t"));
//dicRead1 = new Hashtable();
- //dicRead1["timestamp"]="\r\n\t\t\t\t\t\tdr.GetBytes(\"{name}\", 0, {member}, 0, 8);";// TODO: Need to handle TimeStamp
+ //dicRead1["timestamp"]="\r\n\t\t\t\t\t\tdr.GetBytes(\"{name}\", 0, {member}, 0, 8);";// CSLATODO: Need to handle TimeStamp
//output.write(FormatColumns(dicRead1,Columns,""));
// if (_workingTable != fk.ForeignTable)
// FKSelect(fk,tbl);
- // TODO: Fix This See Below
+ // CSLATODO: Fix This See Below
// foreach(IColumn field in Columns)
// {
// if (field.IsInForeignKey && field.IsInPrimaryKey)
@@ -2846,7 +2847,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
// {
// partial class <%=_className%>Extension : extensionBase
// {
-// // TODO: Override automatic defaults<%
+// // CSLATODO: Override automatic defaults<%
foreach(IColumn column in HasDefaults(columns))
{
%>
@@ -3641,16 +3642,16 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}
// if (sKey == "")sKey="base.GetIdValue()";
%>
- // TODO: Check <%=sFkClassName%>.GetIdValue to assure that the ID returned is unique
+ // CSLATODO: Check <%=sFkClassName%>.GetIdValue to assure that the ID returned is unique
///
/// Overrides Base GetIdValue - Used internally by CSLA to determine equality
///
/// A Unique ID for the current <%=sFkClassName%>
protected override object GetIdValue()
{
- return <%=sKey%>;
+ return My<%=_className%>Unique; // Absolutely Unique ID
}
- // TODO: Replace base <%=sFkClassName%>.ToString function as necessary
+ // CSLATODO: Replace base <%=sFkClassName%>.ToString function as necessary
///
/// Overrides Base ToString
///
@@ -3667,7 +3668,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
string sColumn = RequiredRelatedColumn(col);
if (sColumn != null){ // Let the Validation Rules handle IsDirty and IsValid - LazyLoad should be ignored.
sExtDirty += string.Format(" || ({0} == null ? false : {0}.IsDirtyList(list))",MemberName(sColumn));
- sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValid)",MemberName(sColumn));
+ sExtValid += string.Format(" && ({0} == null ? true : {0}.IsValidList(list))",MemberName(sColumn));
}
}
//if (sExtDirty!="")
@@ -3776,7 +3777,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}
}
%>
- // TODO: Add other validation rules
+ // CSLATODO: Add other validation rules
}<%
foreach(IColumn column in fk.ForeignTable.Columns)
{
@@ -3847,7 +3848,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
#region Authorization Rules
protected override void AddAuthorizationRules()
{
- //TODO: Who can read/write which fields<%
+ //CSLATODO: Who can read/write which fields<%
foreach(IColumn column in fk.ForeignTable.Columns)
{
if (!(IsIn(column,fk.ForeignColumns)) && column.DataTypeName != "timestamp")
@@ -3865,18 +3866,18 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}
public static bool CanAddObject()
{
- // TODO: Can Add Authorization
+ // CSLATODO: Can Add Authorization
//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
return true;
}
public static bool CanGetObject()
{
- // TODO: CanGet Authorization
+ // CSLATODO: CanGet Authorization
return true;
}
public static bool CanDeleteObject()
{
- // TODO: CanDelete Authorization
+ // CSLATODO: CanDelete Authorization
//bool result = false;
//if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true;
//if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true;
@@ -3885,7 +3886,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}
public static bool CanEditObject()
{
- // TODO: CanEdit Authorization
+ // CSLATODO: CanEdit Authorization
//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
return true;
}
@@ -4001,6 +4002,12 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
#region Factory Methods
public int CurrentEditLevel
{ get { return EditLevel; } }
+ private static int _<%=_className%>Unique = 0;
+ private static int <%=_className%>Unique
+ { get { return ++_<%=_className%>Unique; } }
+ private int _My<%=_className%>Unique = <%=_className%>Unique;
+ public int My<%=_className%>Unique // Absolutely Unique ID - Editable FK
+ { get { return _My<%=_className%>Unique; } }
internal static <%=sFkClassName%> New(<%=sKeysTypes%>)
{
return new <%=sFkClassName%>(<%=sValues%>);
@@ -4023,7 +4030,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
private <%=sFkClassName%>(<%=sValues2%>)
{
MarkAsChild();
- // TODO: Add any initialization & defaults
+ // CSLATODO: Add any initialization & defaults
<%=FormatColumns("\t\t\t{member} = {class}.Next{prop};\r\n",AutoKey(fk),"","")%><%=FormatColumns("{member} = " + extMName + ".Default{prop};",HasDefaults(fk),"\r\n","\t\t\t")%>
<%=sInit%>
ValidationRules.CheckRules();
@@ -4238,7 +4245,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}<%
// ForeignKeys - List Foreign Keys - May want to create stored procedures
%>
- // TODO: Add alternative gets -
+ // CSLATODO: Add alternative gets -
//public static <%=_className%> Get()
//{
// try
@@ -4428,11 +4435,14 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
}
private void AddRefreshMine(string sMember)
{
- _refreshMine += string.Format("\t\t\tif({0} != null)\r\n",sMember);
- _refreshMine += string.Format("\t\t\t{{\r\n",sMember);
- _refreshMine += string.Format("\t\t\t\t{0}.Dispose();// Dispose related value\r\n",sMember);
- _refreshMine += string.Format("\t\t\t\t{0} = null;// Reset related value\r\n",sMember);
- _refreshMine += string.Format("\t\t\t}}\r\n",sMember);
+ _refreshMine += string.Format("//RHM Removed 20090724 - Duplicates function of code above.\r\n",sMember);
+ _refreshMine += string.Format("// - Dispose caused error when a new step was added.\r\n",sMember);
+ _refreshMine += string.Format("// - Resequence of transitions did not work properly.\r\n",sMember);
+ _refreshMine += string.Format("//\t\t\tif({0} != null)\r\n",sMember);
+ _refreshMine += string.Format("//\t\t\t{{\r\n");
+ _refreshMine += string.Format("//\t\t\t\t{0}.Dispose();// Dispose related value\r\n",sMember);
+ _refreshMine += string.Format("//\t\t\t\t{0} = null;// Reset related value\r\n",sMember);
+ _refreshMine += string.Format("//\t\t\t}}\r\n");
}
private void vlnBusinessMethodsInfo(IColumns columns)
{
@@ -4587,7 +4597,7 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
private static int <%=_className%>Unique
{ get { return ++_<%=_className%>Unique; } }
private int _My<%=_className%>Unique = <%=_className%>Unique;
- public int My<%=_className%>Unique
+ public int My<%=_className%>Unique // Absolutely Unique ID - Info
{ get { return _My<%=_className%>Unique; } }
protected <%=_className%>()
{/* require use of factory methods */
@@ -4859,15 +4869,21 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
if (_LoggingInfo)
Console.WriteLine("{0} MB {1}", _CurrentProcess.WorkingSet64 / 1000000, string.Format(s, hashCode));
}
+ private static string _ConnectionName = "<%=_dbConnection%>";
+ public static string ConnectionName
+ {
+ get { return Database._ConnectionName; }
+ set { Database._ConnectionName = value; }
+ }
public static string <%=_dbConnection%>_Connection
{
get
{
DateTime.Today.ToLongDateString();
- ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["<%=_dbConnection%>"];
+ ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings[ConnectionName];
if (cs == null)
{
- throw new ApplicationException("Database.cs Could not find connection <%=_dbConnection%>");
+ throw new ApplicationException("Database.cs Could not find connection " + ConnectionName);
}
return cs.ConnectionString;
}
diff --git a/PROMS/MyGeneration/csla_21/vlnCSLA_SQL.csgen b/PROMS/MyGeneration/csla_21/vlnCSLA_SQL.csgen
index 548570c9..e0c29fac 100644
--- a/PROMS/MyGeneration/csla_21/vlnCSLA_SQL.csgen
+++ b/PROMS/MyGeneration/csla_21/vlnCSLA_SQL.csgen
@@ -255,6 +255,7 @@ public class GeneratedTemplate : DotNetScriptTemplate
{
StartProc("purgeData");
%>
+WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION<%
@@ -329,6 +330,7 @@ BEGIN TRY -- Try Block
string sproc = "get" + ClassesName(tbl);
StartProc(sproc);
%>
+WITH EXECUTE AS OWNER
AS
SELECT
<%=FormatColumns("[{name}]",tbl.Columns,",\r\n","\t\t")%><%=FKCounts(tbl)%>
@@ -388,6 +390,7 @@ AS
(
<%=FormatColumns("{@} {dtype}{?null}",tbl.Columns,",\r\n","\t")%><%=FormatColumns("{@new} {dtype} output",Computed(tbl),"",",\r\n\t")%>
)
+WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
@@ -422,6 +425,7 @@ BEGIN TRY -- Try Block
(
<%=FormatColumns("{@} {dtype}{?null}",Insertable(tbl),",\r\n","\t")%><%=FormatColumns("{@new} {dtype} output",NotInsertable(tbl),"",",\r\n\t")%>
)
+WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION
@@ -454,6 +458,7 @@ BEGIN TRY -- Try Block
(
<%=FormatColumns("{@} {dtype}",tbl.PrimaryKeys,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
BEGIN TRANSACTION<%
@@ -488,6 +493,7 @@ BEGIN TRY -- Try Block
(
<%=FormatColumns("{@} {dtype}",tbl.PrimaryKeys,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS
SELECT
<%=FormatColumns("[{name}]",tbl.Columns,",\r\n","\t\t")%><%=FKCounts(tbl)%>
@@ -523,6 +529,7 @@ AS
%>(
<%=FormatColumns("{@} {dtype}",ind.Columns,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS
SELECT
<%=FormatColumns("[{name}]",tbl.Columns,",\r\n","\t\t")%><%=FKCounts(tbl)%>
@@ -545,6 +552,7 @@ AS
%>(
<%=FormatColumns("{@} {dtype}",fk.ForeignColumns,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS
SELECT
<%=FormatColumns("[{name}]",tbl.Columns,",\r\n","\t\t")%><%=FKCounts(tbl)%>
@@ -570,7 +578,8 @@ AS
(
<%=FormatColumns("{@} {dtype}",tbl.PrimaryKeys,",\r\n","\t")%>
)
- AS
+WITH EXECUTE AS OWNER
+AS
SELECT COUNT(*)
FROM [<%=tbl.Name%>] WHERE <%=FormatColumns("[{name}]={@}",tbl.PrimaryKeys," AND ","")%><%
EndProc(sproc);
@@ -599,6 +608,7 @@ AS
(
<%=FormatColumns2("{@} {dtype}",FK,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS
SELECT
<%=FormatColumns("[{name}]",tbl.Columns,",\r\n","\t\t")%><%=FKCounts(tbl)%>
@@ -619,6 +629,7 @@ AS
(
<%=FormatColumns2("{@} {dtype}",FK,",\r\n","\t")%>
)
+WITH EXECUTE AS OWNER
AS<%
string sWhere = "\r\n\tWHERE\r\n\t\t" + FormatColumns2("[{fktable}].[{fkname}]={@}",FK," AND ","");
FKSelect(FK,(FK.PrimaryTable==tbl?FK.ForeignTable:FK.PrimaryTable),FKCounts(tbl),sWhere);
diff --git a/PROMS/MyGeneration/csla_21/vlnSQL_Debug.csgen b/PROMS/MyGeneration/csla_21/vlnSQL_Debug.csgen
index b06becf9..0ed54eca 100644
--- a/PROMS/MyGeneration/csla_21/vlnSQL_Debug.csgen
+++ b/PROMS/MyGeneration/csla_21/vlnSQL_Debug.csgen
@@ -76,6 +76,8 @@ public class GeneratedGui : DotNetScriptGui
chkFKCalc2.Checked = false;
GuiCheckBox chkColumns2 = MakeGuiCheckBox("chkColumns2","PrimFK",true,"Primary Foreign Key",150,chkDetail,300, -1);
chkColumns2.Checked = false;
+ GuiCheckBox chkNewFK = MakeGuiCheckBox( "chkNewFK", "NewFK", true, "NewFK" ,150,chkDetail,450,-1);
+ chkNewFK.Checked = false;
GuiCheckBox chkRelated = MakeGuiCheckBox("chkRelated","Related",true,"Related",150,chkDetail,0,-2);
chkRelated.Checked = false;
GuiCheckBox chkOne2One = MakeGuiCheckBox("chkOne2One","One to One",true,"One to Many and One to One",150,chkDetail,150, -2);
@@ -230,6 +232,7 @@ public class GeneratedGui : DotNetScriptGui
GuiCheckBox chkAlias= ui["chkAlias"] as GuiCheckBox;
GuiCheckBox chkNames= ui["chkNames"] as GuiCheckBox;
GuiCheckBox chkProc = ui["chkProc"] as GuiCheckBox;
+ GuiCheckBox chkNewFK = ui["chkNewFK"] as GuiCheckBox;
GuiLabel labelTest = ui["labelTest"] as GuiLabel;
string status = "";
if(chkDetail.Checked)status+=", " + chkDetail.Text;
@@ -245,6 +248,7 @@ public class GeneratedGui : DotNetScriptGui
if(chkAlias.Checked)status+=", " + chkAlias.Text;
if(chkNames.Checked)status+=", " + chkNames.Text;
if(chkProc.Checked)status+=", " + chkProc.Text;
+ if(chkNewFK.Checked)status+=", " + chkNewFK.Text;
if(status == "")
{
btnOK.Enabled = false;
@@ -352,6 +356,7 @@ public class GeneratedTemplate : DotNetScriptTemplate
if((bool)input["chkInternal"])ShowInternalRelated( _workingTable );
if((bool)input["chkAlias"])ShowAlias( _workingTable );
if((bool)input["chkNames"])ShowNames( _workingTable );
+ if((bool)input["chkNewFK"])ShowNewFK( _workingTable );
}
}
//foreach(ITable tbl in db.Tables)
@@ -382,6 +387,19 @@ public class GeneratedTemplate : DotNetScriptTemplate
}
}
}
+ private void ShowNewFK(ITable tbl)
+ {
+ %>NewFK Output:<%=tbl.Name%>
+<%
+ foreach(IForeignKey fk in tbl.ForeignKeys)
+ {
+ if(tbl.Name == fk.PrimaryTable.Name)
+ {
+%>Foreign Table <%=fk.ForeignTable.Name%> Column <%=fk.ForeignColumns[0].Name%>
+<%
+ }
+ }
+ }
private string ForeignKeyCheck(IColumn col)
{
diff --git a/PROMS/MyGeneration/csla_21/vlnSQL_List.csgen b/PROMS/MyGeneration/csla_21/vlnSQL_List.csgen
index 6e30035a..c82ce434 100644
--- a/PROMS/MyGeneration/csla_21/vlnSQL_List.csgen
+++ b/PROMS/MyGeneration/csla_21/vlnSQL_List.csgen
@@ -221,7 +221,7 @@ public class GeneratedTemplate : DotNetScriptTemplate
_exportPath = input["outputPath"].ToString();
_dbName = input["chooseDatabase"].ToString();
IDatabase db = MyMeta.Databases[_dbName];
- SaveProcs(db);
+ SaveProcsSorted(db);
//SaveTables(db);
}
private bool IncludeVolian(string sName)
@@ -264,6 +264,47 @@ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[<%=sName%>]') AN
DROP <%=sType%> [<%=sName%>];
GO
+<%
+ output.write(ip.ProcedureText.TrimEnd("\r\n".ToCharArray()).Replace(" \r\n","\r\n"));
+%>
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT '<%=sIsType%> Creation: <%=sName%> Succeeded'
+ELSE PRINT '<%=sIsType%> Creation: <%=sName%> Error on Creation'
+GO
+<%
+ SaveFile(ip.Name);
+ }
+ }
+ }
+ }
+ }
+ private void SaveProcsSorted(IDatabase db)
+ {
+ SortedList sortedList = new SortedList();
+ foreach(IProcedure ip in db.Procedures)
+ {
+ sortedList.Add(ip.Name,ip);
+ }
+ foreach(IProcedure ip in sortedList.Values)
+ {
+ if(ip.Schema != "sys"){
+ bool isProc = IsProcedure(ip);
+ string sType = isProc ? "PROCEDURE" : "FUNCTION";
+ string sIsType = isProc ? "Procedure" : (IsTableFunction(ip) ? "TableFunction" : "ScalarFunction");
+ string sName = ip.Name;
+ if((bool)input["chkDrop"]){
+ if(sName.StartsWith("sp_")==false && sName.StartsWith("fn_")==false && IncludeVolian(sName))
+ output.writeln("DROP " + sType + " [" + sName + "]");
+ } else {
+ if(sName.StartsWith("sp_")==false && sName.StartsWith("fn_")==false && IncludeVolian(sName))
+ {
+%>
+/****** Object: StoredProcedure [<%=sName%>] ******/
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[<%=sName%>]') AND OBJECTPROPERTY(id,N'Is<%=sIsType%>') = 1)
+ DROP <%=sType%> [<%=sName%>];
+GO
+
<%
output.write(ip.ProcedureText.TrimEnd("\r\n".ToCharArray()).Replace(" \r\n","\r\n"));
%>
@@ -281,7 +322,7 @@ GO
}
private bool IsProcedure(IProcedure ip)
{
- return ip.ProcedureText.Contains("CREATE PROCEDURE");
+ return ip.ProcedureText.ToUpper().Contains("CREATE PROCEDURE");
}
private bool IsTableFunction(IProcedure ip)
{