public IDownloadViewModel CreateDownloadViewModel(Download download,
     IDownloadSlotsViewModel downloadSlotsViewModel)
 {
     DownloadViewModel downloadViewModel =
         new DownloadViewModel(download, downloadSlotsViewModel, fileSystemManager);
     return downloadViewModel;
 }
        protected override void Establish_context()
        {
            base.Establish_context();
            download = new Download("some uri");
            generatedViewModel = new Mock<IDownloadSlotsViewModel>();
            generatedViewModel.Setup(viewModel => viewModel.TryInitialize()).Returns(true);

            DownloadSlotsViewModelFactory.Setup(factory => factory.CreateDownloadSlotsViewModel(download)).
                Returns(generatedViewModel.Object);

            DownloadSlotsViewModelAsyncFactory.InitializationCompleted += (forDownload, viewModel) =>
                {
                    createdIsRaised = true;
                    forDownloadCreated = forDownload;
                    viewModelCreated = viewModel;
                    resetEvent.Set();
                };

            SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
        }
示例#3
0
        private IDownloadViewModel addDownloadViewModel(Download download, IDownloadSlotsViewModel downloadSlotsViewModel)
        {
            IDownloadViewModel downloadViewModel = this.createDownloadViewModel(download, downloadSlotsViewModel);

            downloadViewModel.OnRemove += () =>
            {
                this.removeFromDownloadModels(download);
                this.removeFromDownloadViewModels(downloadViewModel);
            };

            return downloadViewModel;
        }
示例#4
0
 private void addDownload(Download download)
 {
     IDownloadSlotsViewModel downloadSlotsViewModel =
         this.downloadSlotsViewModelAsyncFactory.CreateDownloadSlotsViewModel(download);
     addDownloadViewModel(download, downloadSlotsViewModel);
 }
示例#5
0
 private void removeFromDownloadModels(Download download)
 {
     downloads.Remove(download);
 }
示例#6
0
 void downloadSlotsViewModelAsyncFactoryInitializationCompleted(Download download, IDownloadSlotsViewModel initializedViewModel)
 {
     downloads.Add(download);
     var newDownloadViewModel = addDownloadViewModel(download, initializedViewModel);
     newDownloadViewModel.Start();
 }
示例#7
0
 private IDownloadViewModel createDownloadViewModel(Download download,
     IDownloadSlotsViewModel downloadSlotsViewModel)
 {
     IDownloadViewModel downloadViewModel = downloadViewModelFactory.CreateDownloadViewModel(download,
         downloadSlotsViewModel);
     items.Add(downloadViewModel);
     return downloadViewModel;
 }
示例#8
0
 private Download createDownloadModel(string Uri, string saveFolderPath)
 {
     Download download = new Download(Uri);
     download.State = DownloadState.Initializing;
     download.SaveFolderPath = saveFolderPath;
     return download;
 }
 public IDownloadSlotsViewModel CreateDownloadSlotsViewModel(Download download)
 {
     IDownloadSlotsViewModel downloadSlotsViewModel =
         new DownloadSlotsViewModel(download, downloadingClientFactory, fileStreamClientFactory);
     return downloadSlotsViewModel;
 }