123 lines
4.7 KiB
C#
123 lines
4.7 KiB
C#
// ========================================================================
|
|
// Copyright 2006 - Volian Enterprises, Inc. All rights reserved.
|
|
// Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
|
// ------------------------------------------------------------------------
|
|
// $Workfile: $ $Revision: $
|
|
// $Author: $ $Date: $
|
|
//
|
|
// $History: $
|
|
// ========================================================================
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Windows.Forms;
|
|
using System.Data;
|
|
using System.Data.OleDb;
|
|
using System.Collections.Specialized;
|
|
using System.Collections.Generic;
|
|
using System.Xml;
|
|
using System.IO;
|
|
using System.Text;
|
|
using VEPROMS.CSLA.Library;
|
|
|
|
namespace DataLoader
|
|
{
|
|
public partial class Loader
|
|
{
|
|
private string MigrateRos(OleDbConnection cn, string textm, string seqcvt, Content content, DocVersion docver, bool conv_caret)
|
|
{
|
|
StringBuilder rotxt = new StringBuilder();
|
|
int instance = 0;
|
|
int beg = 0;
|
|
DataTable dt = null;
|
|
DataSet ds = null;
|
|
OleDbDataAdapter da = null;
|
|
|
|
string cmd = "SELECT * FROM USAGERO WHERE [NUMBER]='" + ProcNumber.Replace("'", "''") + "' AND [SEQUENCE] ='" + seqcvt + "' ORDER BY [INSTANCE]";
|
|
da = new OleDbDataAdapter(cmd, cn);
|
|
// get usage records for the ROID.
|
|
ds = new DataSet();
|
|
try
|
|
{
|
|
da.Fill(ds);
|
|
dt = ds.Tables[0];
|
|
dt.CaseSensitive = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
frmMain.AddError(ex, "migrateRos");
|
|
log.Error("Error getting RO Usages");
|
|
log.ErrorFormat("proc number = {0}, oldstepsequence = {1}",ProcNumber, seqcvt);
|
|
do
|
|
{
|
|
log.ErrorFormat("{0} - {1}", ex.GetType().Name, ex.Message);
|
|
ex = ex.InnerException;
|
|
} while (ex != null);
|
|
ds.Dispose();
|
|
da.Dispose();
|
|
return textm;
|
|
}
|
|
int tok = textm.IndexOf('\x15');
|
|
while (tok > -1)
|
|
{
|
|
// found a token, add the roid & value into the string and
|
|
// add an ro usage for it.
|
|
rotxt.Append(textm.Substring(beg, tok - beg));
|
|
if (instance < dt.Rows.Count)
|
|
{
|
|
DataRow dr = dt.Rows[instance];
|
|
string ROID = dr["ROID"].ToString();
|
|
RoUsage ro = RoUsage.MakeRoUsage(content, ROID, null, DateTime.Now, "Migration", rodb);
|
|
try
|
|
{
|
|
string rov = rofstinfo.ROFSTLookup.GetRoValue(ROID.Substring(0, 12).ToUpper());
|
|
//jsj string rov = TextConvert.ConvertText(rofstinfo.ROFSTLookup.GetRoValue(ROID.Substring(0, 12).ToUpper()));
|
|
//string results = string.Format(@"{0}{1}\v #Link:ReferencedObject:{2} {3} {4}\v0",
|
|
// '\x15', rofstinfo.ROFSTLookup.GetRoValue(ROID.Substring(0, 12).ToUpper()), ro.ROUsageID, ROID, rodb.RODbID);
|
|
|
|
// TODO: NEED TO PASS IN ConvertCaret FORMAT FLAG
|
|
string roval = TextConvert.ConvertDOSSuperAndSubScripts(rofstinfo.ROFSTLookup.GetRoValue(ROID.Substring(0, 12).ToUpper()));
|
|
roval = TextConvert.ReplaceUnicode(roval, conv_caret);
|
|
|
|
//if (roval.Contains("\r") || roval.Contains("\n"))
|
|
// Console.WriteLine("RO has new Lines");
|
|
//string results = string.Format(@"\v <START]\v0 {0}\v #Link:ReferencedObject:{1} {2} {3}\v0 \v [END>\v0 ",
|
|
// rofstinfo.ROFSTLookup.GetRoValue(ROID.Substring(0, 12).ToUpper()), ro.ROUsageID, ROID, rodb.RODbID);
|
|
string results = string.Format(@"\v <START]\v0\cf1 {0}\cf0\v #Link:ReferencedObject:{1} {2} {3}\v0 \v [END>\v0 ",
|
|
roval.Replace("\r\n","\\par\r\n"), ro.ROUsageID, ROID, rodb.RODbID);
|
|
rotxt.Append(results);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
frmMain.AddError(ex, "MigrateRos '{0}' '{1}' {2}", ProcNumber, seqcvt, instance);
|
|
log.Error("Error setting RO data in text field");
|
|
log.ErrorFormat("Error Message = {0}", ex.Message);
|
|
log.ErrorFormat("proc number = {0}, oldstepsequence = {1}, instance = {2}", ProcNumber, seqcvt, instance);
|
|
}
|
|
instance++;
|
|
}
|
|
else
|
|
{
|
|
log.Error("Error setting RO data in text field");
|
|
log.ErrorFormat("proc number = {0}, oldstepsequence = {1}, instance = {2}", ProcNumber, seqcvt, instance);
|
|
}
|
|
beg = tok + 1;
|
|
if (beg > textm.Length)
|
|
{
|
|
tok = -1;
|
|
da.Dispose();
|
|
}
|
|
else
|
|
tok = textm.IndexOf('\x15', beg);
|
|
}
|
|
if (beg <= textm.Length - 1)
|
|
rotxt.Append(textm.Substring(beg, textm.Length - beg));
|
|
|
|
ds.Dispose();
|
|
da.Dispose();
|
|
return rotxt.ToString();
|
|
}
|
|
}
|
|
|
|
} |