Пример #1
0
        public CommandManager(AdminConsole cmd, string directory)
        {
            InitializeCommands();

            Console        = cmd;
            LocalDirectory = directory;

            connexionTestTimer.Elapsed += new ElapsedEventHandler(CheckDatabaseConnexion);
        }
Пример #2
0
        public List <IndexedFile> GetAllFilesFromFolder(string root, bool searchSubfolders, AdminConsole console)
        {
            List <IndexedFile> list    = new List <IndexedFile>();
            Queue <string>     folders = new Queue <string>();
            List <IndexedFile> files   = new List <IndexedFile>();

            folders.Enqueue(root);

            while (folders.Count != 0)
            {
                string currentFolder = folders.Dequeue();

                try
                {
                    files.Add(new IndexedFile(FileType.Directory, currentFolder, currentFolder.Substring(currentFolder.LastIndexOf("\\") + 1, currentFolder.Length - currentFolder.LastIndexOf("\\") - 1)));
                }
                catch { }

                try
                {
                    string[] filesInCurrent = System.IO.Directory.GetFiles(currentFolder, ".", System.IO.SearchOption.TopDirectoryOnly);

                    foreach (var item in filesInCurrent)
                    {
                        string extension = null;
                        string fileName  = item.Split('\\')[item.Split('\\').Length - 1];
                        if (item.Contains("."))
                        {
                            extension = item.Split('.')[1];
                        }
                        Console.WriteLine(item);
                        if (extension == "txt" || extension == "csv" || extension == "pdf" || extension == "png" || extension == "jpg" || extension == "docx")
                        {
                            files.Add(new IndexedFile(FileType.Readable, item, fileName));
                        }
                        else if (extension == null)
                        {
                            files.Add(new IndexedFile(FileType.Directory, item, fileName));
                        }
                        else
                        {
                            files.Add(new IndexedFile(FileType.Unreadable, item, fileName));
                        }

                        console.Write(files.Last().filName + " " + files.Last().filType);
                    }
                }
                catch
                {
                }
                try
                {
                    if (searchSubfolders)
                    {
                        string[] foldersInCurrent = System.IO.Directory.GetDirectories(currentFolder, ".", System.IO.SearchOption.TopDirectoryOnly);
                        foreach (string _current in foldersInCurrent)
                        {
                            folders.Enqueue(_current);
                        }
                    }
                }
                catch {}
            }
            return(files);
        }