Specified a different location for the Log File.

Changed code to use log Info
Changed code to append error messages rather than replace text
Added/Changed code to use Log4Net.
Changed logic for Updates to Use IDs rather than Objects for internal Updates
Added a FormatColumn token to handle DTS, Added comments to describe tokens
Added methods ParentRefU and ParentRefU2 to support otther changes
This commit is contained in:
Rich
2010-12-09 22:27:22 +00:00
parent 7c77423283
commit 3e135d8deb
7 changed files with 154 additions and 39 deletions

View File

@@ -2230,16 +2230,17 @@ namespace <%=_nameSpace%>
//{
// Commentted out the following two lines for Permissions
// if (!column.IsAutoKey)
sValuesU+=FormatColumn("\r\n\t\t\t\t\t{ifLogicL}cm.Parameters.AddWithValue(\"{@}\", {parent}{?dbtype});",column);
if (IsParentCol(column)){
sKeysTypesU+=sepi + _className + " my" + sParent;
sKeysU+=sepi + "my" + sParent;
}
else
{
sKeysTypesU+=sepu + FormatColumn("{?ref}{!type} {!local}",column);
//sValuesU+=FormatColumn("\r\n\t\t\t\t\t{ifLogicL}cm.Parameters.AddWithValue(\"{@}\", {parent}{?dbtype});",column);
sValuesU+=FormatColumn("\r\n\t\t\t\t\t{ifLogicl}cm.Parameters.AddWithValue(\"{@}\", {local});",column);
//if (IsParentCol(column)){
// sKeysTypesU+= sepi + "/*1*/ " + _className + " my" + sParent;
// sKeysU+=sepi + "my" + sParent;
//}
//else
//{
sKeysTypesU+=sepu + FormatColumn("{?ref}{ctype} {local}",column);
sKeysU+=sepu + FormatColumn("{?ref}{member}",column);
}
//}
sepu=", ";
//}
}
@@ -2260,13 +2261,18 @@ namespace <%=_nameSpace%>
sTimestamp=FormatColumn("{member} = ",column);
if (!IsIn(column,fk.ForeignColumns))
{
string sRef = ParentRef(column);
if (sRef==null)sRef=FormatColumn("{?ref}{?dbprefix}{!propmember}{?dbsuff}",column);
sUpdate+=sepu+sRef;
string sRefI = ParentRef(column);
string sRefU = ParentRefU(column);
if (sRefI==null)
{
sRefI = FormatColumn("{?ref}{?dbprefix}{!propmember}{?dbsuff}",column);
sRefU = FormatColumn("{?ref}{?dbprefix}{member}{?dbsuff}",column);
}
sUpdate+=sepu + sRefU;
sepu=", ";
if (!column.IsComputed)// && !column.IsAutoKey
{
sInsert+=sepi+sRef;
sInsert+=sepi+sRefI;
sepi=", ";
}
}
@@ -2274,8 +2280,8 @@ namespace <%=_nameSpace%>
{
//string sRef = FormatColumn("{?dbprefix}{rmember}{?dbsuff}",RelatedColumn(column,fk));
string sRef = sPrimaryLocal;
sInsert+=sepi + sRef;
sUpdate+=sepu + sRef;
sInsert+=sepi + sPrimaryLocal;
sUpdate+=sepu + sPrimaryLocal + "." + FormatColumn("{?ref}{?dbprefix}{prop}{?dbsuff}",column);
sepi=", ";
sepu=", ";
//sepd=", ";
@@ -2310,13 +2316,15 @@ namespace <%=_nameSpace%>
{
if (column.DataTypeName=="timestamp")
sTimestamp=FormatColumn("{member} = ",column);
string sRef = FormatColumn("{?ref}{?dbprefix}{!member}{?dbsuff}",column);
//string sRef = FormatColumn("{?ref}{?dbprefix}{!member}{?dbsuff}",column);
string sRefI = FormatColumn("{?ref}{?dbprefix}{!member}{?dbsuff}",column);
string sRefU = FormatColumn("{?ref}{?dbprefix}{member}{?dbsuff}",column);
if (!column.IsComputed)// && !column.IsAutoKey
{
sInsert+=sepi+sRef;
sInsert+=sepi+sRefI;
sepi=", ";
}
sUpdate+=sepu + sRef;
sUpdate+=sepu + sRefU;
sepi=", ";
sepu=", ";
}
@@ -4076,37 +4084,52 @@ private void vlnDataPortalFetch(string sPrefix,IColumns cols,string sql,bool get
{
sRead+=sepr+FormatColumn(dicRead,column,"\t\t\t\t","");
sepr="\r\n";
string sRef = ParentRef(column);
if (sRef==null)
string sRefI = ParentRef(column);
string sRefU = ParentRefU2(column);
if (sRefI==null)
{
if (column.IsComputed || column.IsAutoKey)
sRef=FormatColumn("ref {?dbprefix}{member}{?dbsuff}",column);
sRefU = sRefI = FormatColumn("ref {?dbprefix}{member}{?dbsuff}",column);
else
//if (column.IsInPrimaryKey) // 20070326
// sRef=FormatColumn("{?dbprefix}{!membercolumn}{?dbsuff}",column);// 20070323
//else
if (FormatColumn("{!type}",column)==ClassName(fk.ForeignTable))
sRef=FormatColumn("{?dbprefix}{!membercolumn}{?dbsuff}",column);// 20070326
{
sRefI = FormatColumn("{?dbprefix}{!membercolumn}{?dbsuff}",column);// 20070326
sRefU = FormatColumn("{?dbprefix}{member}{?dbsuff}",column);// 20070326
}
else
sRef=FormatColumn("{?dbprefix}{!member}{?dbsuff}",column);// 20070326
{
sRefI=FormatColumn("{?dbprefix}{!member}{?dbsuff}",column);// 20070326
sRefU=FormatColumn("{?dbprefix}{member}{?dbsuff}",column);// 20070326
}
}
sUpdate+=sepu + sRef;
sUpdate+=sepu + sRefU;
sepu=", ";
if (!column.IsComputed)// && !column.IsAutoKey
{
sInsert+=sepi+sRef;
sInsert+=sepi+sRefI;
sepi=", ";
}
}
else
{
string sRef;
string sRefI;
string sRefU;
if (IsRelObj(column))
sRef = FormatColumn("{?dbprefix}{!local}{?dbsuff}",column);
{
sRefI = FormatColumn("{?dbprefix}{!local}{?dbsuff}",column);
string sType = FormatColumn("{ctype}",column);
if(sType.Contains("?"))
sRefU = FormatColumn("{?dbprefix}{!local}{?dbsuff} != null ? ({ctype}) {?dbprefix}{!local}{?dbsuff}.{?dbprefix}{prop}{?dbsuff} : ({ctype}) null",column);
else
sRefU = FormatColumn("{?dbprefix}{!localcolumn}{?dbsuff}",column);
}
else
sRef = FormatColumn("{?dbprefix}{rmember}{?dbsuff}",RelatedColumn(column,fk));
sInsert+=sepi + sRef;
sUpdate+=sepu + sRef;
sRefI = sRefU = FormatColumn("{?dbprefix}{rmember}{?dbsuff}",RelatedColumn(column,fk));
sInsert+=sepi + sRefI;
sUpdate+=sepu + sRefU;
sepi=", ";
sepu=", ";
//sepd=", ";

View File

@@ -300,51 +300,94 @@
string relType=RelObjType(column);
string suffix = "";//(PropertyName(column)==ClassName(column.Table)?"Fld":"");
s=s.Replace("{member}",MemberName(column)+suffix);//m - Member _firstname
//member _DocID
s=s.Replace("{fmember}",(column.Table.Alias==_tableName?"":_prefix + ClassName(column.Table)+sAlias)+MemberName(column)+suffix);//m - Member _firstname
//fmember _DocID
s=s.Replace("{pmember}",(column.Table.Alias==_tableName?_prefix:LocalName(ClassName(column.Table))+".")+PropertyName(column)+suffix);//m - Member _firstname
//pmember _DocID
s=s.Replace("{rmember}",LocalName(ClassName(column.Table))+"."+PropertyName(column));//m - Member _firstname
//rmember entry.DocID
s=s.Replace("{!prop}",relProp);
//!prop MyDocument
s=s.Replace("{!member}",MemberName(relProp));
//!member _MyDocument
// s=s.Replace("{!membercolumn}",MemberName(relProp) + (IsRelObj(column)?"." + RelObjCol(column):""));
s=s.Replace("{!membercolumn}",MemberName(relProp) + (IsRelObj(column)?"." + RelObjProp(RelObjCol2(column)):""));
//!membercolumn _MyDocument.DocID
s=s.Replace("{!local}",LocalName(relProp));
//!local myDocument
s=s.Replace("{!localcolumn}",LocalName(relProp) + (IsRelObj(column)?"." + RelObjCol(column):""));
//!localcolumn myDocument.DocID
s=s.Replace("{!type}",relType);
//!type Document
s=s.Replace("{!rtype}",ReturnType(relType));
//!rtype Document
s=s.Replace("{!memberprop}",(column.IsInPrimaryKey ? MemberName(relProp) : relProp)+suffix);
//!memberprop MyDocument
s=s.Replace("{!propmember}",(IsRelObj(column) ? relProp : MemberName(relProp))+suffix);
//!propmember MyDocument
s=s.Replace("{!column}",RelObjCol(column));
//!column DocID
s=s.Replace("{!empty}",RelObjEmpty(column));
//!empty 0
s=s.Replace("{!typecast}",RelObjTypeCast(column));
//!typecast
s=s.Replace("{local}",LocalName(column)+suffix);//l Local firstname
//local docID
s=s.Replace("{prop}",PropertyName(column)+suffix);
//prop DocID
s=s.Replace("{memberprop}",(column.IsInPrimaryKey ? MemberName(column) : PropertyName(column))+suffix);
//memberprop DocID
s=s.Replace("{@}",ParameterName(column));
//@ @DocID
s=s.Replace("{@new}",NewParameterName(column));
//@new @newDocID
string cType = CSLAType(column);
s=s.Replace("{ctype}",cType);
//ctype int
s=s.Replace("{ctype1}",cType.Replace("?",""));
//ctype1 int
s=s.Replace("{rmember}",ReturnMember(cType));
//rmember entry.DocID
s=s.Replace("{rtype}",ReturnType(cType));
//rtype int
// s=s.Replace("{dbtype}",LocalName(column));
s=s.Replace("{dtype}",DBType(column));
//dtype int
s=s.Replace("{name}",column.Name);
//name DocID
s=s.Replace("{class}",ClassName(column.Table));
//class Entry
s=s.Replace("{fname}",(column.Table.Alias==_tableName?"":ClassName(column.Table)+sAlias+"_")+column.Name);
//fname DocID
s=s.Replace("{sqltype}",column.DbTargetType);
//sqltype SqlDbType.Int
s=s.Replace("{?ref}",(column.IsComputed || column.IsAutoKey ? "ref " : ""));
//?ref
s=s.Replace("{?dbtype}",(CSLAType( column )=="SmartDate" ? ".DBValue" : ""));
//?dbtype
s=s.Replace("{?dbprefix}",(CSLAType( column )=="SmartDate" ? "new SmartDate(" : ""));
//?dbprefix
s=s.Replace("{?dbsuffix}",(CSLAType( column )=="SmartDate" ? ").DBValue" : ""));
//?dbsuffix
s=s.Replace("{?dbsuff}",(CSLAType( column )=="SmartDate" ? ")" : ""));
//?dbsuff
s=s.Replace("{default}",DefaultValue(column));
//default
s=s.Replace("{?output}",(column.IsComputed || column.IsAutoKey ? " output" : ""));
//?output
s=s.Replace("{@key}",ParamKeyName(column));
//@key @DocID
s=s.Replace("{tbl}",column.Table.Name + sAlias);
//tbl Entries
s=s.Replace("{?null}",(column.IsNullable?"=null":""));
//?null
s=s.Replace("{parent}",parentName(column));
//parent myDocument.DocID
s=s.Replace("{Parent}",ParentName(column));
//Parent DocID
s=s.Replace("{ParentType}",ParentTypeName(column));
//ParentType */
s=s.Replace("{autoseed}",AutoSeed(column));
if(s.Contains("{ifLogic"))
{
@@ -363,6 +406,7 @@
break;
}
s=s.Replace("{ifLogicL}",ifLogic.Replace("{name}",FormatColumnNew("{!local}{?dbtype}",column,sAlias)));
s=s.Replace("{ifLogicl}",ifLogic.Replace("{name}",FormatColumnNew("{!local}{?dbtype}",column,sAlias)));
s=s.Replace("{ifLogicP}",ifLogic.Replace("{name}",FormatColumnNew("{?dbprefix}{member}{?dbsuffix}",column,sAlias)));
s=s.Replace("{ifLogic@}",ifLogic.Replace("{name}",FormatColumnNew("criteria.{prop}{?dbtype}",column,sAlias)));
//string name = FormatColumnNew("{local}{?dbtype}",column,sAlias);

View File

@@ -127,6 +127,18 @@
if (colp != null) return ClassName(col.Table) + ".Get(" + RelObjTypeCast(col) + MemberName(col) + ")";
return null;
}
private string ParentRefU(IColumn col)
{
IColumn colp = ParentCol(col);
if (colp != null) return RelObjTypeCast(col) + MemberName(col);
return null;
}
private string ParentRefU2(IColumn col)
{
IColumn colp = ParentCol(col);
if (colp != null) return MemberName(col);
return null;
}
private string ParentTypeName(IColumn col)
{
IColumn colp = ParentCol(col);