// ======================================================================== // 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 Volian.MSWord; using vlnObjectLibrary; using vlnServerLibrary; using VEPROMS.CSLA.Library; using Config; [assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace DataLoader { public partial class frmLoader : Form { private bool _Loading = true; private FolderTreeNode _topnode; private bool UseVeTree = false; #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 Loader ldr; public bool cbSaveDocChecked { get { return cbSaveDoc.Checked; } } public bool cbSaveRTFChecked { get { return cbSaveRTF.Checked; } } public TreeView TV { get { return tv; } } public int pbProcMaximum { get { return pbProc.Maximum; } set { pbProc.Maximum = value; } } public int pbSectMaximum { get { return pbSect.Maximum; } set { pbSect.Maximum = value; } } public int pbSectValue { get { return pbSect.Value; } set { pbSect.Value = value; } } public int pbStepMaximum { get { return pbStep.Maximum; } set { pbStep.Maximum = value; } } public int pbStepValue { get { return pbStep.Value; } set { pbStep.Value = value; } } public int pbProcValue { get { return pbProc.Value; } set { pbProc.Value = value; } } public string Status { get { return toolStripStatusLabel1.Text; } set { toolStripStatusLabel1.Text = value; Application.DoEvents(); } } public string tbSourceText { get { return tbSource.Text; } set { tbSource.Text = value; } } public frmLoader() { ldr = new Loader(_MyLog, this); InitializeComponent(); lblTime.Tag = DateTime.Now; switch (SystemInformation.ComputerName.ToUpper()) { case "KATHYXP": //tbSource.Text = "G:\\VEIP2\\PROCS"; // basic data //tbSource.Text = "G:\\VEFNP\\AOP1.PRC"; // test subsections, checkoffs, comments & continuous action flag //tbSource.Text = "G:\\vecal\\eops.bck"; // test link seq STP_LNK_SEQ tbSource.Text = "G:\\vehlp\\procs";// G:\\vewcnckl\\ckl.prc - multiple change ids. break; case "KATHY-VISTA": tbSource.Text = @"c:\16bit\debug\vehlp\procs";// G:\\vewcnckl\\ckl.prc - multiple change ids. break; case "RHMDESKTOP": //tbSource.Text = @"I:\UNZIPPED ACTIVE BASELINE DATA\vehlp\Procs"; // Sub-sections tbSource.Text = @"I:\veDATA\vehlp\Procs"; // Sub-sections break; case "RMARK-PC": //tbSource.Text = @"I:\UNZIPPED ACTIVE BASELINE DATA\vehlp\Procs"; // Sub-sections tbSource.Text = @"C:\VE_PROMS Data\Plant\HLP\vehlp\Procs"; // Sub-sections break; case "JOHN": tbSource.Text = @"G:\PROMSDAT\vehlp\procs";// South Texas EOPS //tbSource.Text = @"G:\PromsDat\VEHP1B\SAMGS.PRC";// South Texas STPNOC break; case "JOHN-VISTA": tbSource.Text = @"C:\16bit\PROMSDAT\vehlp\procs";// South Texas EOPS //tbSource.Text = @"G:\PromsDat\VEHP1B\SAMGS.PRC";// South Texas STPNOC break; default: throw new Exception("Not configured for " + SystemInformation.ComputerName); } } private void btnConvertSelected_Click(object sender, EventArgs e) { if (UseVeTree) { VETreeNode tn = (VETreeNode)tv.SelectedNode; if (tn == null) { MessageBox.Show("Must select a version node (working draft, approved, etc)", "No Node Selected"); return; } object o = tn.VEObject; if (o.GetType() != typeof(DocVersionInfo)) { MessageBox.Show("Must select a version node (working draft, approved, etc)", "No Node Selected"); return; } DocVersion v = ((DocVersionInfo)o).Get(); Item itm = ldr.MigrateDocVersion(v); if (itm != null) { tn.Checked = true; } } else { TreeNode tn = tv.SelectedNode; if (tn == null) { MessageBox.Show("Must select a version node (working draft, approved, etc)", "No Node Selected"); return; } object o = tn.Tag; if (o.GetType() != typeof(DocVersion)) { MessageBox.Show("Must select a version node (working draft, approved, etc)", "No Node Selected"); return; } DocVersion v = (DocVersion)o; Item itm = ldr.MigrateDocVersion(v); if (itm != null) { tn.Checked = true; } } } private void tv_BeforeExpand(object sender, TreeViewCancelEventArgs e) { if (UseVeTree) { ((VETreeNode)e.Node).LoadChildren(); return; } TreeNode tn = e.Node; object o = tn.Tag; switch (o.GetType().ToString()) { case "Volian.CSLA.Library.FolderInfo": FolderInfo fld = (FolderInfo)o; if (fld.ChildFolderCount>0) tn.Checked = ldr.LoadChildren(fld, tn); // load docversions. break; default: break; } } private void tv_AfterSelect(object sender, TreeViewEventArgs e) { if (UseVeTree) return; TreeNode tn = e.Node; object o = tn.Tag; tn.Expand(); if (o.GetType() == typeof(DocVersion)) tbSource.Text = ((DocVersion)o).Title; } private void btnLoadTreeDB_Click(object sender, EventArgs e) { // When loading folders, i.e. the tree from dBase (old 16-bit) // always clear the data ldr.ClearData(); bool suc = ldr.LoadFolders(tbVePromsPath.Text); } private void btnConvert_Click(object sender, System.EventArgs e) { Database.LoggingInfo = false; bool success = true; // if purge data, purge it all & reload folders & security. if (cbPurgeData.Checked) { ldr.ClearData(); success = ldr.LoadFolders(tbVePromsPath.Text); if (success) success = ldr.LoadSecurity(tbVesamPath.Text, tbVePromsPath.Text); } if (success) { DateTime tstart = DateTime.Now; DocVersionInfoList vl = DocVersionInfoList.Get(); DocVersion v = null; foreach (DocVersionInfo vi in vl) { if (vi.Title.ToUpper() == tbSource.Text.ToUpper()) // is this the procedure set we want to convert? { v = DocVersion.Get(vi.VersionID); Item itm = ldr.MigrateDocVersion(v, true); } //v = DocVersion.Get(vi.VersionID); //bool convertProcedures = (vi.Title.ToUpper() == tbSource.Text.ToUpper()); //Item itm = ldr.MigrateDocVersion(v, convertProcedures); } MessageBox.Show(string.Format("{0} seconds", TimeSpan.FromTicks(DateTime.Now.Ticks - tstart.Ticks).TotalSeconds)); } } public void UpdateLabels(int incPrc, int incSec, int incStp) { if (incPrc == 0 && incSec == 0 && incStp == 0)//Reset { lblTime.Tag = DateTime.Now; pbProc.Value = 0; pbSect.Value = 0; pbStep.Value = 0; } else { try { pbProc.Value += incPrc; pbSect.Value += incSec; pbStep.Value += incStp; } catch (Exception ex) { _MyLog.ErrorFormat("{0}\r\n\r\n{1}", ex.Message, ex.InnerException); } } //Database.LoggingInfo = (pbProc.Value > 153 && pbSect.Value > 11 && pbStep.Value > 61); lblProc.Text = string.Format("{0} Procedures", pbProc.Value); lblSection.Text = string.Format("{0} Sections", pbSect.Value); lblStep.Text = string.Format("{0} Steps", pbStep.Value); //pbProc.Value = iPrc; //pbSect.Value = iSec; //pbStep.Value = iStp; TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - ((DateTime)lblTime.Tag).Ticks); lblTime.Text = string.Format("{0:D2}:{1:D2}:{2:D2} Elapsed", ts.Hours, ts.Minutes, ts.Seconds); Application.DoEvents(); } private void btnBrowse_Click(object sender, EventArgs e) { fbd.SelectedPath = tbSource.Text; if (fbd.ShowDialog() == DialogResult.OK) tbSource.Text = fbd.SelectedPath; } private void cbSaveRTF_Click(object sender, EventArgs e) { if (cbSaveRTF.Checked) cbSaveDoc.Checked = false; } private void cbSaveDoc_Click(object sender, EventArgs e) { if (cbSaveDoc.Checked) cbSaveRTF.Checked = false; } private void btnLoadTreeCSLA_Click(object sender, EventArgs e) { _topnode = FolderTreeNode.BuildTreeList(); tv.Nodes.Add(_topnode); tv.Nodes[0].Expand(); UseVeTree = false; } private void btnBrowseVesam_Click(object sender, EventArgs e) { fbd.SelectedPath = tbVesamPath.Text; if (fbd.ShowDialog() == DialogResult.OK) tbVesamPath.Text = fbd.SelectedPath; } private void btnVesam_Click(object sender, EventArgs e) { // if purge data, purge it all & reload folders. if (cbPurgeData.Checked) { ldr.ClearData(); ldr.LoadFolders(tbVePromsPath.Text); } bool sec = ldr.LoadSecurity(tbVesamPath.Text, tbVePromsPath.Text); } private void btnVETree_CSLA_Click(object sender, EventArgs e) { tv.Nodes.Add(VETreeNode.GetFolder(1)); UseVeTree = true; } private void btnGroup_Click(object sender, EventArgs e) { GroupProp f = new GroupProp(); f.ShowDialog(); } private void tbSource_TextChanged(object sender, EventArgs e) { } private void btnCtTok_Click(object sender, EventArgs e) { frmCntTkn frm = new frmCntTkn(); frm.ShowDialog(); } public void UpdateLabelsSetProc(int prc) { pbProc.Maximum = prc; } public void UpdateLabelsSetSect(int sec) { pbSect.Maximum = sec; } public void UpdateLabelsLibDocs(int incLib, int incUsages) { if (incLib == 0 && incUsages == 0)//Reset { lblTime.Tag = DateTime.Now; pbProc.Value = 0; pbSect.Value = 0; } else { pbProc.Value += incLib; pbSect.Value += incUsages; } lblProc.Text = string.Format("{0} Lib Docs", pbProc.Value); lblSection.Text = string.Format("{0} Usages", pbSect.Value); lblStep.Text = ""; TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - ((DateTime)lblTime.Tag).Ticks); lblTime.Text = string.Format("{0:D2}:{1:D2}:{2:D2} Elapsed", ts.Hours, ts.Minutes, ts.Seconds); Application.DoEvents(); } private void frmLoader_Load(object sender, EventArgs e) { if (Properties.Settings.Default["VeSamFilename"].ToString() != "") this.tbVesamPath.Text = Properties.Settings.Default.VeSamFilename; if (Properties.Settings.Default["DbfPathname"].ToString() != "") this.tbSource.Text = Properties.Settings.Default.DbfPathname; if (Properties.Settings.Default["LoadWordDoc"].ToString() != "") this.cbSaveDoc.CheckState = Properties.Settings.Default.LoadWordDoc; if (Properties.Settings.Default["PurgeData"].ToString() != "") this.cbPurgeData.CheckState = Properties.Settings.Default.PurgeData; if (Properties.Settings.Default["LoadRTFDoc"].ToString() != "") this.cbSaveRTF.CheckState = Properties.Settings.Default.LoadRTFDoc; if (Properties.Settings.Default["VePromsFilename"] != null) this.tbVePromsPath.Text = Properties.Settings.Default.VePromsFilename; _Loading = false; } private void frmLoader_FormClosing(object sender, FormClosingEventArgs e) { Properties.Settings.Default.VeSamFilename = tbVesamPath.Text; Properties.Settings.Default.DbfPathname = tbSource.Text; Properties.Settings.Default.LoadWordDoc = cbSaveDoc.CheckState; Properties.Settings.Default.LoadRTFDoc = cbSaveRTF.CheckState; Properties.Settings.Default.PurgeData = cbPurgeData.CheckState; Properties.Settings.Default.VePromsFilename = tbVePromsPath.Text; Properties.Settings.Default.Save(); } private void btnBrowseVeProms_Click(object sender, EventArgs e) { fbd.SelectedPath = tbVePromsPath.Text; if (fbd.ShowDialog() == DialogResult.OK) tbVePromsPath.Text = fbd.SelectedPath; } } }