Example #1
0
        /// <summary>
        /// Metodo utile per ricercare i file all'interno di una directory e inserirli in un database FileStructure
        /// </summary>
        /// <param name="path">
        /// Percorso
        /// </param>
        /// <returns>
        /// Lista di tutti i file all'interno di una directory nel formato FileStructure
        /// </returns>
        public static List <FileStructure> FilesInsideDir(string path)
        {
            List <FileStructure> local = new List <FileStructure>();

            string[] filelist = Directory.GetFiles(path);
            foreach (string file in filelist)
            {
                string   nameFile;
                decimal  size;
                DateTime lastModified;
                nameFile = Path.GetFileNameWithoutExtension(file);
                FileInfo informationFile = new FileInfo(file);
                size         = informationFile.Length / 2 ^ 20;
                lastModified = informationFile.LastWriteTime;
                FileStructure obj = new FileStructure()
                {
                    Name             = nameFile,
                    Directory        = file,
                    Size             = size,
                    Extension        = GetExstension(file),
                    LastModifiedTime = lastModified
                };
                local.Add(obj);
            }
            return(local);
        }
Example #2
0
 /// <summary>
 /// Metodo utile per ricercare ricorsivamente i file all'interno di una directory e inserirli in un database FileStructure
 /// </summary>
 /// <param name="path">
 /// Percorso
 /// </param>
 /// <param name="recursive">
 /// Ricorsivo
 /// </param>
 /// <returns>
 /// Lista di tutti i file all'interno di una directory, e delle sue sottodirectory, nel formato FileStructure
 /// </returns>
 public static List <FileStructure> FilesInsideDir(string path, bool recursive)
 {
     if (recursive)
     {
         List <FileStructure> local = new List <FileStructure>();
         foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.AllDirectories))
         {
             string   nameFile;
             decimal  size;
             DateTime lastModified;
             nameFile = Path.GetFileNameWithoutExtension(file);
             FileInfo informationFile = new FileInfo(file);
             size         = informationFile.Length / 2 ^ 20;
             lastModified = informationFile.LastWriteTime;
             FileStructure obj = new FileStructure()
             {
                 Name             = nameFile,
                 Directory        = file,
                 Size             = size,
                 Extension        = GetExstension(file),
                 LastModifiedTime = lastModified,
                 HashValue        = SHA256calc(file)
             };
             local.Add(obj);
         }
         foreach (var item in FilesInsideDir(path))
         {
             local.Add(item);
         }
         return(local);
     }
     else
     {
         return(FilesInsideDir(path));
     }
 }