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

@ -8,7 +8,7 @@
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Log4Net.txt" />
<param name="File" value="${USERPROFILE}/My Documents/VEPROMS/DMErrorLog.txt" />
<param name="AppendToFile" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
@ -48,7 +48,7 @@
</layout>
</appender>
<root>
<level value="WARN" />
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="EventLogAppender" />

View File

@ -52,7 +52,7 @@ namespace DataLoader
if (System.IO.File.Exists(fname))
{
FileInfo myFile = new FileInfo(fname);
frmMain.AddError("Processing {0}", fname);
frmMain.AddInfo("Processing {0}", fname);
//string tmpName = @"C:\Temp\DataLoader\" + myFile.Name.Replace(".", "_") + ".RTF";
string tmpName = Path.GetTempFileName();
string temppath = Path.GetTempFileName();

View File

@ -26,8 +26,8 @@ namespace DataLoader
public void Add(string err)
{
_MyErrors.Add(err);
tbErrors.Text += sep + err;
tbErrors.SelectionStart = tbErrors.TextLength;
tbErrors.SelectedText = sep + err;
sep = "\r\n";
Show();
Application.DoEvents();

View File

@ -35,6 +35,10 @@ namespace DataLoader
{
public partial class frmLoader : Form
{
#region Log4Net
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion
private bool _Loading = true;
private FolderTreeNode _topnode;
@ -84,12 +88,44 @@ namespace DataLoader
public string MyError
{
get { return tsslError.Text; }
set { MyFrmErrors.Add(value); tsslError.Text = string.Format("{0} Errors", MyFrmErrors.MyErrors.Count); }
set
{
MyFrmErrors.Add(value);
log.ErrorFormat(value);
tsslError.Text = string.Format("{0} Errors", MyFrmErrors.MyErrors.Count); }
}
public string MyWarning
{
get { return tsslError.Text; }
set
{
MyFrmErrors.Add(value);
log.WarnFormat(value);
tsslError.Text = string.Format("{0} Errors", MyFrmErrors.MyErrors.Count);
}
}
public string MyInfo
{
get { return tsslError.Text; }
set
{
MyFrmErrors.Add(value);
log.InfoFormat(value);
tsslError.Text = string.Format("{0} Errors", MyFrmErrors.MyErrors.Count);
}
}
public void AddError(string format, params object[] objs)
{
MyError = string.Format(format, objs);
}
public void AddWarn(string format, params object[] objs)
{
MyWarning = string.Format(format, objs);
}
public void AddInfo(string format, params object[] objs)
{
MyInfo = string.Format(format, objs);
}
public void AddError(Exception ex, string format, params object[] objs)
{
StringBuilder sb = new StringBuilder( string.Format(format, objs));
@ -287,7 +323,7 @@ namespace DataLoader
TimeSpan ts = new TimeSpan();
DocVersionInfoList vl = DocVersionInfoList.Get();
DocVersion v = null;
MyError = "Computer Name: " + SystemInformation.ComputerName.ToUpper();
MyInfo = "Computer Name: " + SystemInformation.ComputerName.ToUpper();
foreach (DocVersionInfo vi in vl)
{
//if (!_DeveloperMode || (cbxOnlyThisSet.Checked && vi.Title.ToUpper() == tbSource.Text.ToUpper())) // is this the procedure set we want to convert?
@ -298,7 +334,7 @@ namespace DataLoader
lblCurSetFolder.Text = v.Title;
lblCurSetFolder.Visible = true;
lblProcessing.Visible = true;
MyError = "Data Set: " + v.Title;
MyInfo = "Data Set: " + v.Title;
ts += ldr.MigrateDocVersion(v, true);
}
//v = DocVersion.Get(vi.VersionID);
@ -307,7 +343,7 @@ namespace DataLoader
}
string ConversionTime = string.Format("Conversion completion time: {0:D2}:{1:D2}:{2:D2}.{3}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds);
MyError = ConversionTime;
MyInfo = ConversionTime;
SaveLogFiles();
MessageBox.Show(string.Format("{0}\r\n\n({1} Total Seconds)", ConversionTime, ts.TotalSeconds));
//MessageBox.Show(string.Format("Conversion completion time: {0:D2}:{1:D2}:{2:D2}.{3}\r\n\n({4} Total Seconds)", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds, ts.TotalSeconds));
@ -501,7 +537,7 @@ namespace DataLoader
myFixer.StatusChanged += new TransitionFixerEvent(myFixer_StatusChanged);
TimeSpan howlong = myFixer.Process(cbCheckRTF.Checked);
string TransFixTime = string.Format("Fix Transitions completion time: {0:D2}:{1:D2}:{2:D2}.{3}", howlong.Hours, howlong.Minutes, howlong.Seconds, howlong.Milliseconds);
MyError = TransFixTime;
MyInfo = TransFixTime;
MessageBox.Show(string.Format("{0}\r\n\n({1} Total Seconds)", TransFixTime, howlong.TotalSeconds));
//MessageBox.Show(string.Format("Fix Transitions completion time: {0:D2}:{1:D2}:{2:D2}.{3}\r\n\n({4} Total Seconds)", howlong.Hours, howlong.Minutes, howlong.Seconds, howlong.Milliseconds, howlong.TotalSeconds));
CreateBackupRestoreBatchFiles();

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
else
sRef=FormatColumn("{?dbprefix}{!member}{?dbsuff}",column);// 20070326
{
sRefI = FormatColumn("{?dbprefix}{!membercolumn}{?dbsuff}",column);// 20070326
sRefU = FormatColumn("{?dbprefix}{member}{?dbsuff}",column);// 20070326
}
sUpdate+=sepu + sRef;
else
{
sRefI=FormatColumn("{?dbprefix}{!member}{?dbsuff}",column);// 20070326
sRefU=FormatColumn("{?dbprefix}{member}{?dbsuff}",column);// 20070326
}
}
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
sRef = FormatColumn("{?dbprefix}{rmember}{?dbsuff}",RelatedColumn(column,fk));
sInsert+=sepi + sRef;
sUpdate+=sepu + sRef;
sRefU = FormatColumn("{?dbprefix}{!localcolumn}{?dbsuff}",column);
}
else
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);