Added HowMany setting Property to limit the number of procedures converted.

Use Command Line Parameters ass override for settings.
Add logic to support partial processing of procedure sets (appending to a previously processed set.
This commit is contained in:
Rich 2014-12-08 20:22:33 +00:00
parent c2abe9214b
commit 368280d7ee
4 changed files with 24 additions and 4 deletions

View File

@ -170,6 +170,9 @@
<setting name="AnnotateWhenShowingDifferentRO" serializeAs="String"> <setting name="AnnotateWhenShowingDifferentRO" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="HowMany" serializeAs="String">
<value>0</value>
</setting>
</DataLoader.Properties.Settings> </DataLoader.Properties.Settings>
</userSettings> </userSettings>
</configuration> </configuration>

View File

@ -12,7 +12,7 @@ namespace DataLoader
{ {
public bool BuildApprovedRevision() public bool BuildApprovedRevision()
{ {
if(!frmMain.RunScript("PROMSApproveApprove.sql", frmMain.MySettings.DBName)) return false; if(!frmMain.RunScript("PROMSApproveApprove.sql", frmMain.DBName)) return false;
bool rv = false; bool rv = false;
using (Stage myStage = GetApprovedStage()) using (Stage myStage = GetApprovedStage())
{ {
@ -23,7 +23,7 @@ namespace DataLoader
{ {
if (dvi.Procedures.Count > 0) if (dvi.Procedures.Count > 0)
{ {
if (!frmMain.MySettings.OnlyThisSet || frmMain.MySettings.ProcedureSetPath.ToUpper() == dvi.MyFolder.Title.ToUpper()) if (!frmMain.MySettings.OnlyThisSet || frmMain.ProcedureSetPath.ToUpper() == dvi.MyFolder.Title.ToUpper())
{ {
string approvedFolder = dvi.MyFolder.Title + @"\APPROVED"; string approvedFolder = dvi.MyFolder.Title + @"\APPROVED";
//B2012-094 fix //B2012-094 fix

View File

@ -263,6 +263,15 @@ namespace DataLoader
get { return _Skip; } get { return _Skip; }
set { _Skip = value; } set { _Skip = value; }
} }
private int _HowMany=0; // Skip specified procedures during load.
[DisplayName("How Many Procedures should be converted")]
[Category("Debugging")]
[Description("Only process part of the set.")]
public int HowMany
{
get { return _HowMany; }
set { _HowMany = value; }
}
#endregion #endregion
#region Accessory Pages #region Accessory Pages
private AccPageConversion _ConvertTo; private AccPageConversion _ConvertTo;

View File

@ -40,6 +40,12 @@ namespace DataLoader
long lTime = DateTime.Now.Ticks; long lTime = DateTime.Now.Ticks;
string pth = docver.Title; string pth = docver.Title;
// if the Title is empty, return because this docversion has already been migrated. // if the Title is empty, return because this docversion has already been migrated.
bool appending = false;
if (frmMain.Automatic && !frmMain.PurgeExistingData)
{
pth = frmMain.ProcedureSetPath;
appending = true;
}
if (pth == null || pth == "" || pth == "Title") return TimeSpan.FromTicks(0); if (pth == null || pth == "" || pth == "Title") return TimeSpan.FromTicks(0);
MultiUnitCount = docver.DocVersionConfig.Unit_Count; MultiUnitCount = docver.DocVersionConfig.Unit_Count;
if (MultiUnitCount > 0) if (MultiUnitCount > 0)
@ -64,11 +70,13 @@ namespace DataLoader
DeleteINFFiles(pth); DeleteINFFiles(pth);
_OutTran = new OutsideTransition(cn); _OutTran = new OutsideTransition(cn);
frmMain.AddInfo("Before MigrateROFST{0}\r\n{1}", GC.GetTotalMemory(true), VEPROMS.CSLA.Library.CSLACache.UsageAll); frmMain.AddInfo("Before MigrateROFST{0}\r\n{1}", GC.GetTotalMemory(true), VEPROMS.CSLA.Library.CSLACache.UsageAll);
MigrateROFST(pth, docver); //if(!appending)
MigrateROFST(pth, docver);
GC.Collect(); GC.Collect();
frmMain.AddInfo("After MigrateROFST{0}\r\n{1}", GC.GetTotalMemory(true), VEPROMS.CSLA.Library.CSLACache.UsageAll); frmMain.AddInfo("After MigrateROFST{0}\r\n{1}", GC.GetTotalMemory(true), VEPROMS.CSLA.Library.CSLACache.UsageAll);
// Migrate library documents // Migrate library documents
MigrateLibDocs(cn, pth); //if(!appending)
MigrateLibDocs(cn, pth, appending);
// if migrating bge, save the 'unit' number. This unit number is used in pagelist items and is // if migrating bge, save the 'unit' number. This unit number is used in pagelist items and is
// based on the path/directory name of the procedure set. // based on the path/directory name of the procedure set.