private void CreateFolderStructure(string gameName, string archivePath) { _notifier.CreateFolderStructure(gameName); using (IZipFile zip = _zipFileProcessor.Read(archivePath)) { var directories = zip.GetDirectories(); foreach (var zipEntry in directories) { XboxDirectoryCreateRequest request = new XboxDirectoryCreateRequest() { Path = zipEntry.FileName }; _xboxDirectoryCreateRequests.Add(request); } } XboxDirectoryStructureWorker folderWorker = new XboxDirectoryStructureWorker(_xboxGameRepositoryFactory, gameName, _xboxDirectoryCreateRequests); folderWorker.Start(); WaitForDirectoryRequestsToComplete(); _notifier.FinishedCreatingFolderStructure(gameName); folderWorker.Stop(); }