C20240-005 - Deleting Folder additions
This commit is contained in:
@@ -24,10 +24,14 @@ namespace VEPROMS
|
||||
private bool IsAdministratorUser = false; //C2020-035 used to control what Set Amins can do
|
||||
// C2017-030 - new Admin Tools user interface
|
||||
// pass in session info to constructor
|
||||
public frmBatchRefresh(SessionInfo sessionInfo)
|
||||
|
||||
private frmVEPROMS _veProms;
|
||||
|
||||
public frmBatchRefresh(SessionInfo sessionInfo, frmVEPROMS veProms)
|
||||
{
|
||||
InitializeComponent();
|
||||
_MySessionInfo = sessionInfo;
|
||||
_veProms = veProms;
|
||||
|
||||
if (sideNavItmDelete.Checked)
|
||||
{
|
||||
@@ -156,44 +160,16 @@ namespace VEPROMS
|
||||
|
||||
if (fi.ChildFolderCount > 0)
|
||||
{
|
||||
if (noProcs)
|
||||
{
|
||||
LoadFolders(fi, myTVdel, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode tn = new TreeNode(fi.Name);
|
||||
tn.Tag = fi;
|
||||
tn.StateImageIndex = -1; // Hide the checkbox for the root node
|
||||
LoadChildFolders(fi, tn, noProcs);
|
||||
myTVdel.Nodes.Add(tn);
|
||||
}
|
||||
TreeNode tn = new TreeNode(fi.Name);
|
||||
tn.Tag = fi;
|
||||
tn.StateImageIndex = -1; // Hide the checkbox for the root node
|
||||
LoadChildFolders(fi, tn, noProcs);
|
||||
myTVdel.Nodes.Add(tn);
|
||||
}
|
||||
|
||||
if (myTVdel.SelectedNode != null)
|
||||
myTVdel.SelectedNode.Expand();
|
||||
this.Cursor = Cursors.Default;
|
||||
|
||||
//btnFixLinks.Enabled = false;
|
||||
//this.Cursor = Cursors.WaitCursor;
|
||||
////myTreeNodePath = new List<string>();
|
||||
//myTVdel.Nodes.Clear();
|
||||
//myDocVersions.Clear();
|
||||
//FolderInfo fi = FolderInfo.GetTop();
|
||||
//TreeNode tn = myTVdel.Nodes.Add(fi.Name );
|
||||
//tn.Tag = fi;
|
||||
//if (fi.ChildFolderCount > 0)
|
||||
//{
|
||||
// if (noProcs)
|
||||
// {
|
||||
// LoadBottomLevelFolders(fi, myTVdel);
|
||||
// }
|
||||
// else
|
||||
// LoadChildFolders(fi, tn, noProcs);
|
||||
//}
|
||||
//if (myTVdel.SelectedNode != null)
|
||||
// myTVdel.SelectedNode.Expand();
|
||||
//this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
// B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set
|
||||
@@ -222,100 +198,6 @@ namespace VEPROMS
|
||||
tn.Remove();
|
||||
return loadedWorkingDraft;
|
||||
}
|
||||
/// <summary>
|
||||
/// Load only folders into treeview
|
||||
/// </summary>
|
||||
private void LoadFolders(FolderInfo fi, TreeView treeView, TreeNode parentNode)
|
||||
{
|
||||
|
||||
|
||||
foreach (FolderInfo fic in fi.SortedChildFolders)
|
||||
{
|
||||
TreeNode tnc = treeView.Nodes.Add(fic.Name);
|
||||
tnc.Tag = fic;
|
||||
|
||||
if (fic.ChildFolderCount > 0)
|
||||
{
|
||||
// Recursively call for child folders
|
||||
LoadFolders(fic, treeView, tnc);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (fic.Name != "PROMS")
|
||||
{
|
||||
// If the folder is a bottom-level folder (no child folders), add it directly to the TreeView
|
||||
|
||||
//Working
|
||||
//foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
//{
|
||||
// myDocVersions.Add(tnc, dvi);
|
||||
//}
|
||||
|
||||
// If parentNode is null, add to the root of the tree
|
||||
if (parentNode == null)
|
||||
{
|
||||
// If the folder is a bottom-level folder (no child folders), add it directly to the TreeView
|
||||
treeView.Nodes.Add(tnc);
|
||||
foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
{
|
||||
myDocVersions.Add(tnc, dvi);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otherwise, add to the parent node
|
||||
parentNode.Nodes.Add(fic.Name);
|
||||
foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
{
|
||||
myDocVersions.Add(tnc, dvi);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//foreach (FolderInfo fic in fi.SortedChildFolders)
|
||||
//{
|
||||
// // Skip "PROMS" folder
|
||||
// if (fic.Name == "PROMS")
|
||||
// {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// //// Create a new tree node for the current folder
|
||||
// TreeNode tnc = new TreeNode(fic.Name) { Tag = fic };
|
||||
|
||||
// // If parentNode is null, add to the root of the tree
|
||||
// if (parentNode == null)
|
||||
// {
|
||||
// // If the folder is a bottom-level folder (no child folders), add it directly to the TreeView
|
||||
// treeView.Nodes.Add(tnc);
|
||||
// foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
// {
|
||||
// myDocVersions.Add(tnc, dvi);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // Otherwise, add to the parent node
|
||||
// //parentNode.Nodes.Add(tnc);
|
||||
|
||||
// // If the folder is a bottom-level folder (no child folders), add it directly to the TreeView
|
||||
// parentNode.Nodes.Add(fic.Name);
|
||||
// foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
// {
|
||||
// myDocVersions.Add(tnc, dvi);
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Recursively call for child folders
|
||||
// if (fic.ChildFolderCount > 0)
|
||||
// {
|
||||
// LoadFolders(fic, treeView, tnc);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
private bool LoadDocVersions(FolderInfo fic, TreeNode tnc, bool noProcs)
|
||||
{
|
||||
bool rtnval = false;
|
||||
@@ -1750,21 +1632,27 @@ namespace VEPROMS
|
||||
|
||||
if (swDeleteFolder.Value)
|
||||
{
|
||||
//TODO process deletions of folders
|
||||
txtProcess.AppendText("Deleting Folders...");
|
||||
|
||||
//List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
//foreach (TreeNode tn in myProcedures.Keys)
|
||||
// if (tn.Checked)
|
||||
// pil.Add(myProcedures[tn]);
|
||||
if (FlexibleMessageBox.Show(this, "You sure you want to remove the selected folders and their contents?", "Confirm Folder Deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
|
||||
////Load Selected Folders
|
||||
List<DocVersionInfo> dvil = new List<DocVersionInfo>();
|
||||
foreach (TreeNode tn in myDocVersions.Keys)
|
||||
if (tn.Checked)
|
||||
dvil.Add(myDocVersions[tn]);
|
||||
|
||||
ProcessDelete(dvil);
|
||||
//TODO process deletions of folders
|
||||
txtProcess.AppendText("Deleting Folders...");
|
||||
|
||||
//List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
//foreach (TreeNode tn in myProcedures.Keys)
|
||||
// if (tn.Checked)
|
||||
// pil.Add(myProcedures[tn]);
|
||||
|
||||
////Load Selected Folders
|
||||
List<DocVersionInfo> dvil = new List<DocVersionInfo>();
|
||||
foreach (TreeNode tn in myDocVersions.Keys)
|
||||
if (tn.Checked)
|
||||
dvil.Add(myDocVersions[tn]);
|
||||
|
||||
ProcessDelete(dvil);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1800,11 +1688,13 @@ namespace VEPROMS
|
||||
|
||||
foreach (var kvp in foldersToDelete)
|
||||
{
|
||||
int itemID = (int)kvp.ItemID;
|
||||
string folderName = kvp.Name;
|
||||
//Gather folder information
|
||||
|
||||
FolderInfo fi = (FolderInfo)kvp.ActiveParent;
|
||||
int itemID = (int)fi.FolderID;
|
||||
string folderName = fi.Name;
|
||||
|
||||
// Perform the deletion operation
|
||||
// Assume DeleteFolderByID is a method that deletes the folder by its ItemID
|
||||
bool deletionSuccessful = DeleteFolderByID(itemID);
|
||||
|
||||
// Update txtProcess with the progress
|
||||
@@ -1818,13 +1708,29 @@ namespace VEPROMS
|
||||
}
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
}
|
||||
|
||||
//Run Repair
|
||||
PurgeDisconnectedItems(); // Orphan Items
|
||||
|
||||
//rebuild
|
||||
ResetDelTV(true);
|
||||
}
|
||||
// Example deletion method
|
||||
private bool DeleteFolderByID(int itemID)
|
||||
private bool DeleteFolderByID(int folderID)
|
||||
{
|
||||
// Implement your folder deletion logic here
|
||||
// Return true if deletion was successful, false otherwise
|
||||
return true; // Placeholder
|
||||
try
|
||||
{
|
||||
//Delete
|
||||
Folder.DeleteFolderAdmin(folderID);
|
||||
|
||||
//update treeview UI via veProms
|
||||
_veProms.tv_FolderDelete(folderID);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public List<ProcedureInfo> RetrieveChkAnnotations()
|
||||
|
Reference in New Issue
Block a user