Outside transitions logic and annotations for unresolved transitions

This commit is contained in:
Jsj 2008-02-21 16:50:59 +00:00
parent 3fa819494c
commit efd8d900b2
2 changed files with 142 additions and 105 deletions

View File

@ -25,7 +25,11 @@ namespace DataLoader
{
public partial class Loader
{
private Item MigrateProcedure(OleDbConnection cn, DataRow dr, Item FromItem, string pth, DocVersion docver)
#region Log4Net
public static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
//public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion
private Item MigrateProcedure(OleDbConnection cn, DataRow dr, Item FromItem, string pth, DocVersion docver, bool convertProcedures)
{
dicOldStepSequence = new Dictionary<object, string>();
Stack<int> SubSectLevels = new Stack<int>(); // levels of subsections
@ -60,11 +64,12 @@ namespace DataLoader
// check that file exists, i.e. if proc file doesn't exist but has entry in set
// file, flag error, but continue.
string fname = frmMain.tbSourceText +"\\"+ dr["entry"] + ".dbf";
//string fname = frmMain.tbSourceText +"\\"+ dr["entry"] + ".dbf";
string fname = pth + "\\" + dr["entry"] + ".dbf";
if (File.Exists(fname))
{
// if the dbt is bad, fix it.
DbtOk(dr["entry"].ToString());
DbtOk(dr["entry"].ToString(),pth);
// See if there is PSI and if so, add it to the xml.
OleDbDataAdapter dapsi = new OleDbDataAdapter("select * from [" + dr["entry"] + "] where [STEP] is null", cn);
try
@ -118,10 +123,32 @@ namespace DataLoader
Format docverFormat = docver.ActiveFormat;
bool do_cvt = !(docverFormat.PlantFormat.FormatData.XtraOptions("DontConvertCarrotToDelta"));
// pass in a 0 on MakeContent for type of procedure, i.e. procedure = 0 (on type field)
Content cont = Content.New(TextConvert.ConvertText(dr["Number"].ToString()), TextConvert.ConvertText(dr["Title"].ToString(),do_cvt), 0, null, ci == null ? null : ci.ToString(), dts, userid);
Item itm = Item.MakeItem(FromItem, cont, dts, userid);
frmMain.UpdateLabels(1, 0, 0);
// can we save itm.ItemID in a dictionary of outside trans? ex: otrans("vehlp\procs\0POP05-EO00",itm.ItemID)?
Content cont = null;
Item itm =null;
string number = TextConvert.ConvertText(dr["Number"].ToString());
frmMain.UpdateLabels(1, 0, 0);
if (!convertProcedures || docver.VersionType != (int)VEPROMS.CSLA.Library.VersionTypeEnum.WorkingDraft)// TODO: if convertProcedures == False - create item and content
{
cont = Content.New(number, TextConvert.ConvertText(dr["Title"].ToString(),do_cvt), 0, null, ci == null ? null : ci.ToString(), dts, userid);
itm = Item.MakeItem(FromItem, cont, dts, userid);
}
else // TODO: if convertProcedures == True - Find existing item.
{
DocVersionInfo dvi = DocVersionInfo.Get(docver.VersionID);
foreach(ItemInfo ii in dvi.Procedures){
if (ii.MyContent.Number == number)
{
Console.WriteLine(number);
itm = ii.Get();
cont = ii.MyContent.Get();
}
}
}
if (convertProcedures /* && number == "0POP05-EO-EC00"*/)
{
OleDbDataAdapter da = new OleDbDataAdapter("select * from [" + dr["entry"] + "] where sequence like ' %'", cn);
try
{
@ -171,7 +198,7 @@ namespace DataLoader
if (addpart)
{
// ContentsParts.Add can use 'fromtype', item - fromtype here = 2, section
cont.ContentParts.Add(2,SectItm);
cont.ContentParts.Add(2, SectItm);
if (cont.MyZContent.OldStepSequence == null || cont.MyZContent.OldStepSequence == "") cont.MyZContent.OldStepSequence = ProcNumber;
if (!cont.IsSavable) ErrorRpt.ErrorReport(cont);
cont.Save();
@ -207,29 +234,38 @@ namespace DataLoader
if (!itm.IsSavable) ErrorRpt.ErrorReport(itm);
itm.Save();
}
}
return itm;
}
private Item MigrateProcedures(OleDbConnection cn, string pth, DocVersion docver)
private Item MigrateProcedures(OleDbConnection cn, string pth, DocVersion docver, bool convertProcedures)
{
Item FirstItm = null;
// Loop through Set File for each Procedure
try
{
OleDbDataAdapter da = new OleDbDataAdapter("Select * from [set] where entry is not null", cn);
DataSet ds = new DataSet();
da.Fill(ds);
Item FrItm = null;
Item FirstItm = null;
frmMain.pbProcMaximum = ds.Tables[0].Rows.Count;
frmMain.UpdateLabels(0, 0, 0);
foreach (DataRow dr in ds.Tables[0].Rows)
{
FrItm = MigrateProcedure(cn, dr, FrItm, pth, docver);
FrItm = MigrateProcedure(cn, dr, FrItm, pth, docver, convertProcedures);
if (FirstItm == null) FirstItm = FrItm;
}
da.Dispose();
}
catch (Exception ex)
{
_MyLog.ErrorFormat("MigrateProcedures - {0} - {1}\r\n\r\n{2}", pth,ex.Message, ex.InnerException);
}
return FirstItm;
}
private void DbtOk(string fname)
private void DbtOk(string fname, string pth)
{
string dbtname = frmMain.tbSourceText + "\\" + fname + ".dbt";
//string dbtname = frmMain.tbSourceText + "\\" + fname + ".dbt";
string dbtname = pth + "\\" + fname + ".dbt";
if (File.Exists(dbtname))
{
// check if dbt is at least 512, if not append 508 bytes. This is to fix

View File

@ -110,6 +110,7 @@ namespace DataLoader
if (!itm.IsSavable) ErrorRpt.ErrorReport(itm);
itm.Save();
dicTrans_ItemIds.Remove(ProcNumber + "|" + trstpseq);
dicTrans_MigrationErrors.Remove(ProcNumber + "|" + trstpseq);
}
else
itm = Item.MakeItem(FromItem, cont, Dts, Userid);
@ -483,7 +484,7 @@ namespace DataLoader
frmMain.pbStepValue = 0;
foreach (DataRowView drv in dv)
{
FrItem = MigrateStep(cn, dt, drv, FrItem, conv_caret);
FrItem = MigrateStep(cn, dt, drv, FrItem, conv_caret, pth);
if (secitem.MyContent.ContentParts.Count == 0)
{
// type 6 is step