コード例 #1
0
 private void PullFolders(Guid appKey, Guid newVersionKey, bool create = false, bool clean = true)
 {
     var appsController = new Apps(config);
     var app = appsController.GetApp(appKey);
     var targetDirectory = new DirectoryInfo(config.DeploymentDirectory + "\\" + app.DeploymentDirectory);
     if (!targetDirectory.Exists)
     {
         if (create)
         {
             targetDirectory.Create();
             targetDirectory.Refresh();
         }
         else
         {
             throw new AppDeploymentException(string.Format("Failed pulling version \"{0}\" for app \"{1}\".", newVersionKey, appKey));
         }
     }
     var folderContent = targetDirectory.EnumerateFileSystemInfos();
     if (folderContent.Count() > 0)
     {
         foreach (var item in folderContent)
         {
             if (item.GetType() == typeof(DirectoryInfo))
             {
                 (item as DirectoryInfo).Delete(true);
             }
             else
             {
                 item.Delete();
             }
         }
     }
     var versionsController = new Versions(config);
     versionsController.PullVersion(newVersionKey, targetDirectory);
 }