Example #1
0
        private static List <Folder> process(string folder)
        {
            List <Folder> listaFolders = new List <Folder>();
            Folder        dir;
            FolderOrder   folderOrder = new FolderOrder(-1, 0);

            Console.WriteLine("Processing folders!");

            List <PreFile> listaPrefiles = VisitFoldersUtil.getListFromFiles(folder);

            foreach (PreFile pf in listaPrefiles)
            {
                dir = ProcessFolders.createFolder(pf, folderOrder);
                listaFolders.Add(dir);
            }

            foreach (Folder item in listaFolders)
            {
                string pathChild = item.getOriginalPath().Substring(0,
                                                                    item.getOriginalPath().LastIndexOf(item.separatorChar));

                Folder pathFather = listaFolders.Find(f => f.getOriginalPath().Equals(pathChild));

                if (pathFather != null)
                {
                    item.setParentCodFolder(pathFather.getOrder());
                    item.setParentName(pathFather.getName());
                    item.setParentPath(pathFather.getPath());
                }
            }

            listaFolders.Sort();

            return(listaFolders);
        }
Example #2
0
        private static Folder createFolder(PreFile pf, FolderOrder folderOrder)
        {
            Folder folder = new Folder(pf);

            if (pf.isDirectory())
            {
                folder.setFolderType('D');
            }
            else
            {
                folder.setFolderType('A');
            }

            string sPath = pf.getOriginalPath();

            if (Regex.IsMatch(sPath, "[a-zA-Z]:\\\\"))
            {
                sPath = sPath.Substring(3);
                folder.separatorChar = '\\';
            }

            if (Regex.IsMatch(sPath, "[a-zA-Z]:/"))
            {
                sPath = sPath.Substring(3);
                folder.separatorChar = '/';
            }

            if (sPath.StartsWith("/"))
            {
                sPath = sPath.Substring(1);
                folder.separatorChar = '/';
            }

            folder.setPath(sPath.Replace("'", "''").Replace("\\", "/"));
            folder.setOriginalPath(pf.getOriginalPath());

            if (!folder.getPath().Contains("/"))
            {
                folderOrder.setCodFolder(folderOrder.getCodFolder() + 1);
                folderOrder.setOrder(1);
            }
            else
            {
                folderOrder.setOrder(folderOrder.getOrder() + 1);
            }

            folder.setCode(folderOrder.getCodFolder());
            folder.setOrder(folderOrder.getOrder());

            return(folder);
        }