public void AsociateDirectorMovie(string movieName, string directorName)
        {
            var mov = movieDataAccess.GetMovie(movieName);
            var dir = directorDataAccess.GetDirector(directorName);

            asociationService.AsociateDirectorMovie(mov, dir);
        }
        public void DeleteDirector(string name)
        {
            var dir = directorDataAccess.GetDirector(name);

            if (dir.DirectedMovies.Count() != 0)
            {
                throw new BussinesLogicException("Un director no puede ser borrado si esta asociado a una pelicula");
            }
            directorDataAccess.DeleteDirector(name);
        }
Exemple #3
0
        public void Upload(Movie movieToUpload)
        {
            IGenreDataAccess genreDataAccess = new GenreDataAccess();
            IGenreService    genreService    = new GenreService(genreDataAccess);



            if (movieToUpload.Genres.Count() < 1)
            {
                throw new BussinesLogicException("Una pelicula debe tener uno o mas generos asociados");
            }
            bool existsGenre = false;

            foreach (var genre in movieToUpload.Genres)
            {
                existsGenre = genreService.Exists(genre);
            }
            if (!existsGenre)
            {
                throw new BussinesLogicException("Ningun genero especificado coincide con el/los brindado/s");
            }
            Director dir = new Director();

            try
            {
                dir = dirDa.GetDirector(movieToUpload.Director);
                UpdateDirectorMovies(dir, movieToUpload.Name);
            }
            catch (DataBaseException)
            {
                throw new BussinesLogicException($"El director especificado no existe ");
            }
            movieDataA.Upload(movieToUpload);
            foreach (var gen in movieToUpload.Genres)
            {
                var genInList = genreService.GetGenre(gen);
                genInList.MoviesOfGenre.Add(movieToUpload.Name);
                genreService.Update(gen, genInList);
            }
        }
 public Director GetDirector(string dirName)
 {
     return(directorDataAccess.GetDirector(dirName));
 }