private static void DeleteFolder(Request req, UUID id, AISv3ResultData resultData) { InventoryFolderContent content; InventoryFolder folderData; if (!req.InventoryService.Folder.TryGetValue(req.Agent.ID, id, out folderData) || !req.InventoryService.Folder.Content.TryGetValue(req.Agent.ID, id, out content)) { return; } foreach (InventoryFolder folder in content.Folders) { DeleteSubFolder(req, folder.ID, resultData); } foreach (InventoryItem item in content.Items) { DeleteItem(req, item, resultData); } try { req.InventoryService.Folder.Delete(req.Agent.ID, id); } catch (InventoryFolderNotFoundException) { /* intentionally ignored */ } if (req.InventoryService.Folder.TryGetValue(req.Agent.ID, folderData.ParentFolderID, out folderData)) { resultData.AddUpdatedCategory(folderData); } }
private static void PurgeFolder(Request req, UUID id, AISv3ResultData resultData) { InventoryFolderContent content; if (!req.InventoryService.Folder.Content.TryGetValue(req.Agent.ID, id, out content)) { return; } foreach (InventoryFolder folder in content.Folders) { DeleteSubFolder(req, folder.ID, resultData); } foreach (InventoryItem item in content.Items) { DeleteItem(req, item, resultData); } InventoryFolder folderData; if (req.InventoryService.Folder.TryGetValue(req.Agent.ID, id, out folderData)) { resultData.AddUpdatedCategory(folderData); } }