Esempio n. 1
0
        public void DeleteFolder(string name, string path, int page)
        {
            var folder = _folderContentFolderRepository.GetFolder(name, path);

            if (folder == null)
            {
                return;
            }

            for (var i = 1; i <= folder.NumOfPhysicalPages; i++)
            {
                var folderPage = _folderContentPageService.GetPhysicalFolderPage(folder, i);
                foreach (var folderContent in folderPage.Content)
                {
                    DeleteFolder(folderContent.Name, folderContent.Path, page);
                }
                _folderContentFolderRepository.DeleteFolder(folder.Name, folder.Path);
                _folderContentPageService.DeletePage(folder, i);
            }

            _folderContentFolderRepository.DeleteDirectory(folder.Name, folder.Path);

            var parent = GetParentFolder(folder);

            _folderContentPageService.RemoveFolderContentFromPage(parent, folder, page);
        }
        private ICollection <IFolderContent> GetSubs(IFolderContent folderContent)
        {
            void GetAllSubs(IFolderContent fc, ICollection <IFolderContent> subs)
            {
                subs.Add(fc);
                if (fc.Type != FolderContentType.Folder)
                {
                    return;
                }

                var folder = _folderContentFolderService.GetFolder(fc.Name, fc.Path);

                for (var i = 1; (folder != null && i <= folder.NumOfPhysicalPages); i++)
                {
                    var page = _folderContentPageService.GetPhysicalFolderPage(folder, i);
                    foreach (var content in page.Content)
                    {
                        GetAllSubs(content, subs);
                    }
                }
            }

            var allSubs = new List <IFolderContent>();

            GetAllSubs(folderContent, allSubs);
            return(allSubs);
        }
Esempio n. 3
0
        private void RecursiveSearch(string strToSearch, IFolder folder, List <IFolderContent> result)
        {
            for (var i = 1; i <= folder.NumOfPhysicalPages; i++)
            {
                var page = _folderContentPageService.GetPhysicalFolderPage(folder, i);

                foreach (var folderContent in page.Content)
                {
                    if (folderContent.Name.Contains(strToSearch))
                    {
                        result.Add(folderContent);
                    }

                    if (folderContent.Type != FolderContentType.Folder)
                    {
                        continue;
                    }

                    var folderToCheck = _folderContentFolderService.GetFolder(folderContent.Name, folderContent.Path);
                    RecursiveSearch(strToSearch, folderToCheck, result);
                }
            }
        }