Ejemplo n.º 1
0
        public string CreateZipFromSettings(string json)
        {
            string result;

            try
            {
                System.Collections.Generic.IEnumerable <System.IO.DirectoryInfo> availableBrands = from path in ResourceManager.AvailableBrands(json)
                                                                                                   select new System.IO.DirectoryInfo(System.IO.Path.Combine(ResourceManager.Root, path));
                System.IO.DirectoryInfo tempFolder   = this.ClearTempFolder();
                System.IO.DirectoryInfo subdirectory = tempFolder.CreateSubdirectory(System.Guid.NewGuid().ToString());
                foreach (System.IO.DirectoryInfo brand in availableBrands)
                {
                    SettingsZipper.DirectoryCopy(brand.FullName, System.IO.Path.Combine(subdirectory.FullName, brand.Name), true);
                }
                string archiveFileName = System.IO.Path.Combine(tempFolder.FullName, string.Format("{0}.zip", subdirectory.Name));
                ZipFile.CreateFromDirectory(subdirectory.FullName, archiveFileName);
                result = archiveFileName;
            }
            catch (System.Exception ex)
            {
                Debug.WriteLine(ex.Message + " || " + ex.StackTrace);
                result = null;
            }
            return(result);
        }
Ejemplo n.º 2
0
 public static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
 {
     System.IO.DirectoryInfo sourceDirectory = new System.IO.DirectoryInfo(sourceDirName);
     if (!sourceDirectory.Exists)
     {
         throw new System.IO.DirectoryNotFoundException("Source directory does not exist or could not be found: '{0}'.");
     }
     if (!System.IO.Directory.Exists(destDirName))
     {
         System.IO.Directory.CreateDirectory(destDirName);
     }
     System.IO.FileInfo[] files = sourceDirectory.GetFiles();
     for (int i = 0; i < files.Length; i++)
     {
         System.IO.FileInfo file     = files[i];
         string             temppath = System.IO.Path.Combine(destDirName, file.Name);
         file.CopyTo(temppath, true);
     }
     if (copySubDirs)
     {
         System.IO.DirectoryInfo[] directories = sourceDirectory.GetDirectories();
         for (int i = 0; i < directories.Length; i++)
         {
             System.IO.DirectoryInfo subdir = directories[i];
             string temppath = System.IO.Path.Combine(destDirName, subdir.Name);
             SettingsZipper.DirectoryCopy(subdir.FullName, temppath, true);
         }
     }
 }