public override void Process(IFilmFromFolder film) { if (System.IO.File.Exists(film.PathTo("folder.ico")) || String.IsNullOrWhiteSpace(film.Rating)) { return; } BuildFolderIco(film); SetupFolderIcon(film.Path); }
private void BackgroundProcess(object sender, DoWorkEventArgs e, BackgroundWorker worker, IEnumerable <IFilmFromFolder> films) { for (int i = 0; i < films.Count(); i++) { IFilmFromFolder film = films.ElementAt(i); Process(film); ((GuiFilm)film).IconUpdated(); worker.ReportProgress((int)((i + 1) * 100 / (double)films.Count())); } }
public void IconMakingFilmFolderWatcher_calls_icon_service_with_film() { IFilmFromFolder lastProcessed = null; var filmProcessor = new MockFilmProcessor(f => lastProcessed = f); Func <Action <string>, IFolderWatcher> watcherFactory = action => new MockFolderWatcher(action); MockFolderWatcher watcher = (MockFolderWatcher) new FilmProcessingWatcher <FilmMock>(watcherFactory, filmProcessor).Watcher; watcher.TriggerChange(@"Z:\mock\path"); Assert.AreEqual(@"Z:\mock\path", lastProcessed.Path); }
private void BuildFolderIco(IFilmFromFolder film) { new PosterService().Download(film.Poster, film.PathTo("folder.jpg"), (url, path) => MessageBox.Show("Couldn't download folder.jpg for '" + film.Title + "' from url '" + film.Poster + "' to '" + film.PathTo("folder.jpg") + "'", "Error downloading folder.jpg", MessageBoxButton.OK, MessageBoxImage.Error)); if (!System.IO.File.Exists(film.PathTo("folder.jpg"))) { return; } Task <Bitmap> task = StaTask.Start <Bitmap>(() => new IconLayout(new IconLayoutViewModel(film.PathTo("folder.jpg"), film.Rating)).RenderToBitmap()); task.Wait(); Bitmap icon = task.Result; new PngToIcoService().Convert(icon, film.PathTo("folder.ico")); }
public override void Process(IFilmFromFolder film) { onProcess(film); }
public abstract void Process(IFilmFromFolder film);
public void It_shouldnt_attempt_much_if_folder_has_no_rating() { filmMock = new NotAFilmMock(@"C:\Temp"); new IconService().Process(filmMock); Assert.IsFalse(File.Exists(filmMock.PathTo("desktop.ini"))); }
private void BuildFolderIco(IFilmFromFolder film) { new PosterService().Download(film.Poster, film.PathTo("folder.jpg"), (url, path) => MessageBox.Show("Couldn't download folder.jpg for '" + film.Title + "' from url '" + film.Poster + "' to '" + film.PathTo("folder.jpg") + "'", "Error downloading folder.jpg", MessageBoxButton.OK, MessageBoxImage.Error)); if(!System.IO.File.Exists(film.PathTo("folder.jpg"))) { return; } Task<Bitmap> task = StaTask.Start<Bitmap>(() => new IconLayout(new IconLayoutViewModel(film.PathTo("folder.jpg"), film.Rating)).RenderToBitmap()); task.Wait(); Bitmap icon = task.Result; new PngToIcoService().Convert(icon, film.PathTo("folder.ico")); }