From f46022bf8c6a8bf5858826c4a75fe269c1a6127b Mon Sep 17 00:00:00 2001 From: Rich Date: Wed, 15 Feb 2012 20:39:14 +0000 Subject: [PATCH] limit data loader processing to specific plant --- PROMS/DataLoader/LoadTreeDB.cs | 45 ++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/PROMS/DataLoader/LoadTreeDB.cs b/PROMS/DataLoader/LoadTreeDB.cs index 726c4209..3379909a 100644 --- a/PROMS/DataLoader/LoadTreeDB.cs +++ b/PROMS/DataLoader/LoadTreeDB.cs @@ -115,18 +115,53 @@ namespace DataLoader } return 0; } + private string _OnlyThisFolder; + public string OnlyThisFolder + { + get + { + if (_OnlyThisFolder == null) + { + if (frmMain.MySettings.OnlyThisSet) + { + DirectoryInfo dir = new DirectoryInfo(frmMain.MySettings.ProcedureSetPath); + _OnlyThisFolder = dir.Parent.FullName.ToUpper(); + } + else + _OnlyThisFolder = ""; + } + return _OnlyThisFolder; + } + } + private bool IsInSelectedPlantData(Object parent) + { + if (OnlyThisFolder == "") + return true; + Folder fld = parent as Folder; + if (fld == null) + return true; + if (fld.MyParent.MyParent != null) + return true; + if (fld.Title.ToUpper() == OnlyThisFolder) + return true; + return false; + } private void MigrateChildren(vlnObject vb, vlnServer vs, Connection dbConn, Object parent, TreeNode tn) { if (vb.Type != "version") { - vb.LoadChildren(vs.GetChildren(vb.ToString())); + //if(frmMain.MySettings.OnlyThisSet) + vb.LoadChildren(vs.GetChildren(vb.ToString())); List lv = vb.Children; foreach (vlnObject vbc in lv) { - TreeNode tnc = tn.Nodes.Add(vbc.Title); - object idc = cslaObject(vbc, dbConn, parent, tnc); - frmMain.Status = "Loading " + vbc.Title; - MigrateChildren(vbc, vs, dbConn, idc, tnc); + if (vbc.Path.ToUpper().StartsWith(OnlyThisFolder) || OnlyThisFolder.StartsWith(vbc.Path.ToUpper())) + { + TreeNode tnc = tn.Nodes.Add(vbc.Title); + object idc = cslaObject(vbc, dbConn, parent, tnc); + frmMain.Status = "Loading " + vbc.Title; + MigrateChildren(vbc, vs, dbConn, idc, tnc); + } } } frmMain.Status = " ";