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:
parent
7c77423283
commit
3e135d8deb
@ -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" />
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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=", ";
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user