Наследование: Microsoft.TeamFoundation.Client.Services.TFSCollectionService
 private UpdateLocalVersion ProcessDelete(GetOperation operation, VersionControlDownloadService downloadService, ProcessDirection processDirection, ProcessType processType)
 {
     if (processDirection == ProcessDirection.Undo)
     {
         var update   = ProcessGet(operation, downloadService, ProcessDirection.Normal);
         var filePath = (FilePath)operation.TargetLocalItem;
         var projects = IdeApp.Workspace.GetAllProjects();
         foreach (var project in projects)
         {
             if (filePath.IsChildPathOf(project.BaseDirectory))
             {
                 if (operation.ItemType == ItemType.File)
                 {
                     project.AddFile(operation.TargetLocalItem);
                 }
                 if (operation.ItemType == ItemType.Folder)
                 {
                     project.AddDirectory(operation.TargetLocalItem.Substring(((string)project.BaseDirectory).Length + 1));
                 }
                 break;
             }
         }
         return(update);
     }
     else
     {
         return(InternalProcessDelete(operation, processType));
     }
 }
        private string DownloadFile(GetOperation operation, VersionControlDownloadService downloadService)
        {
            string path = string.IsNullOrEmpty(operation.TargetLocalItem) ? operation.SourceLocalItem : operation.TargetLocalItem;

            if (string.IsNullOrEmpty(path))
            {
                return(string.Empty);
            }
            if (operation.ItemType == ItemType.Folder)
            {
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                return(path);
            }
            if (operation.ItemType == ItemType.File)
            {
                if (!Directory.Exists(Path.GetDirectoryName(path)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(path));
                }
                return(downloadService.Download(path, operation.ArtifactUri));
            }
            return(string.Empty);
        }
 private UpdateLocalVersion ProcessGet(GetOperation operation, VersionControlDownloadService downloadService, ProcessDirection processDirection)
 {
     if (processDirection == ProcessDirection.Normal)
     {
         var path = DownloadFile(operation, downloadService);
         if (operation.ItemType == ItemType.File)
         {
             MakeFileReadOnly(path);
         }
         return(new UpdateLocalVersion(operation.ItemId, path, operation.VersionServer));
     }
     return(null);
 }
 private UpdateLocalVersion ProcessEdit(GetOperation operation, VersionControlDownloadService downloadService, ProcessDirection processDirection)
 {
     if (processDirection == ProcessDirection.Undo)
     {
         var path = DownloadFile(operation, downloadService);
         if (operation.ItemType == ItemType.File)
         {
             MakeFileReadOnly(path);
         }
     }
     else
     {
         string path = string.IsNullOrEmpty(operation.TargetLocalItem) ? operation.SourceLocalItem : operation.TargetLocalItem;
         MakeFileWritable(path);
     }
     return(new UpdateLocalVersion(operation.ItemId, operation.TargetLocalItem, operation.VersionServer));
 }