Example #1
0
        public void UpdateMovie(MovieEditViewModel model, MoviePart part)
        {
            part.IMDB_Id = model.IMDB_Id;
            part.YearReleased = model.YearReleased;
            part.Rating = model.Rating;

            var oldCast = _movieActorRepository.Fetch(ma => ma.MoviePartRecord.Id == part.Id);

            List<int> oldActors = new List<int>();

            foreach (var actor in oldCast)
            {
                oldActors.Add(actor.ActorRecord.Id);
            }
            
            foreach (var oldActorId in oldActors.Except(model.Actors))
            {
                var actor = _movieActorRepository.Get(r => r.ActorRecord.Id == oldActorId);
                _movieActorRepository.Delete(actor);
            }

            foreach (var newActorId in model.Actors.Except(oldActors))
            {
                var actor = _actorRepository.Get(newActorId);
                var moviePart = _moviePartRepository.Get(part.Id);
                _movieActorRepository.Create(new MovieActorRecord { ActorRecord = actor, MoviePartRecord = moviePart });
            }
        }
Example #2
0
	    public void UpdateMovie(MovieEditViewModel model, MoviePart part) {
		    part.IMDB_Id = model.IMDB_Id;
		    part.YearReleased = model.YearReleased;
		    part.Rating = model.Rating;
	        part.Tagline = model.Tagline;
	        part.Keywords = model.Keywords;

		    var oldCast = _movieActorRepository.Fetch(ma => ma.MoviePartRecord.Id == part.Id).Select(r => r.ActorRecord.Id).ToList();
		    foreach (var oldActorId in oldCast.Except(model.Actors)) {
			    _movieActorRepository.Delete(_movieActorRepository.Get(r => r.ActorRecord.Id == oldActorId));
		    }
		    foreach (var newActorId in model.Actors.Except(oldCast)) {
			    var actor = _actorRepository.Get(newActorId);
			    _movieActorRepository.Create(new MovieActorRecord {ActorRecord = actor, MoviePartRecord = part.Record});
		    }
	    }
Example #3
0
        private void AssignActors(MoviePart movie, TmdbMovie movieInfo) {
            var movieActors = new List<MovieActorRecord>();

            foreach (var tmdbCastMember in movieInfo.Cast.Where(c => c.Job == "Actor").OrderBy(c => c.Order).Take(5)) {
                var actor = _actorRepository.Fetch(a => a.Name == tmdbCastMember.Name).SingleOrDefault();
                if (actor == null) {
                    actor = new ActorRecord {Name = tmdbCastMember.Name};
                    _actorRepository.Create(actor);
                }
                movieActors.Add(new MovieActorRecord {ActorRecord = actor, MoviePartRecord = movie.Record});
            }
            movieActors.ForEach(ma => _movieActorRepository.Create(ma));
        }