public FilmDetails(Film film) { _url ="Http://www.IMDB.com/title/tt" + film.IMDBId; _film = film; InitializeComponent(); var bgw = new BackgroundWorker {WorkerReportsProgress = true}; bgw.ProgressChanged += (o, args) => { }; bgw.DoWork += loadPicture; bgw.RunWorkerCompleted += (o, args) => { lbl_picloading.Visible = false; }; bgw.RunWorkerAsync(); populate(); timer1.Enabled = true; }
public bool Execute() { var mayCommit = true; var nhSession = NhContext.GetSession(); using (var tx = nhSession.BeginTransaction()) { var newFilms = new List<Film>(); foreach (var film in Films) { var realNewFilm = new Film(); if(GetFilmFromCache(film.IMDBId) != null || nhSession.Query<Film>().Where(x => x.IMDBId == film.IMDBId).Any()) continue; AddFilmToCache(film); realNewFilm.FilmPath = film.FilmPath; realNewFilm.IMDBId = film.IMDBId; realNewFilm.ReleaseYear = film.ReleaseYear; realNewFilm.RunTime = film.RunTime; realNewFilm.Synopsis = film.Synopsis; realNewFilm.Title = film.Title; realNewFilm.Keywords = film.Keywords; realNewFilm.DirectorIndexing = film.DirectorIndexing; realNewFilm.GenreIndexing = film.GenreIndexing; realNewFilm.CharIndexing = film.CharIndexing; realNewFilm.PersonIndexing = film.PersonIndexing; realNewFilm.PicURL = film.PicURL; realNewFilm.IMDBRating = film.IMDBRating; foreach (var person in film.Director) { var director = GetPersonFromCache(person.IMDBID) ?? nhSession.Query<Person>().Where(x => x.IMDBID == person.IMDBID). SingleOrDefault() ?? person; AddPersonToCache(director); realNewFilm.Director.Add(director); } foreach (var person in film.Writers) { var writer = GetPersonFromCache(person.IMDBID) ?? nhSession.Query<Person>().Where(x => x.IMDBID == person.IMDBID). SingleOrDefault() ?? person; AddPersonToCache(writer); realNewFilm.Writers.Add(writer); } foreach (var genre in film.Genre) { var type = GetTypeFromCache(genre.Type) ?? nhSession.Query<FilmType>().Where(x => x.Type == genre.Type). SingleOrDefault() ?? genre; AddTypeToCache(type); realNewFilm.Genre.Add(type); } foreach (var role in film.Cast) { var actor = GetPersonFromCache(role.Person.IMDBID) ?? nhSession.Query<Person>().Where(x => x.IMDBID == role.Person.IMDBID). SingleOrDefault() ?? role.Person; AddPersonToCache(actor); var role2 = new Role { Character = role.Character, Person = actor }; realNewFilm.Cast.Add(role2); } newFilms.Add(realNewFilm); } var validator = new FilmValidator(); foreach (var newFilm in newFilms) { var results = validator.Validate(newFilm); if (results.IsValid) { nhSession.Save(newFilm); } else { ValidationErrors.Add(newFilm.IMDBId, results.Errors); mayCommit = false; } } if (mayCommit) tx.Commit(); } return mayCommit; }
void AddFilmToCache(Film film) { if (!_filmDictonary.ContainsKey(film.IMDBId)) _filmDictonary[film.IMDBId] = film; }
private ImageList GetImageList(Film film) { var nil = new ImageList {ImageSize = new Size(32, 32)}; for (int i = 0; i < _il.Images.Count; i++) { if (i == _previousIndex) { if (film.PicURL != "/images/b.gif" && !string.IsNullOrEmpty(film.PicURL)) { var pic = new DownloadImage(film.PicURL); pic.Download(); nil.Images.Add(pic.GetImage() ?? Properties.Resources.no_image); } else { nil.Images.Add(Properties.Resources.no_image); } } else { nil.Images.Add(_il.Images[i]); } } return nil; }
void DeleteFilm(Film film) { if (HasFilm(film.FilmPath)) _filmDic.Remove(film.FilmPath); }
public FilmResult(Film film) { PossibleErrors = null; IMDBRating = film.IMDBRating; Title = film.Title; Director = film.Director; Id = film.Id; OnExternalMedia = film.OnExternalMedia; FilmPath = film.FilmPath; IMDBId = film.IMDBId; PicURL = film.PicURL; RunTime = film.RunTime; ReleaseYear = film.ReleaseYear; Cast = film.Cast; Genre = film.Genre; Synopsis = film.Synopsis; Keywords = film.Keywords; TrailerLink = film.TrailerLink; Writers = film.Writers; DirectorIndexing = film.DirectorIndexing; GenreIndexing = film.GenreIndexing; CharIndexing = film.CharIndexing; PersonIndexing = film.PersonIndexing; }