public void RenameMoviePath(Movie movie, bool shouldRenameFiles = true) { var newFolder = _filenameBuilder.BuildMoviePath(movie); if (newFolder != movie.Path && movie.PathState == MoviePathState.Dynamic) { if (!_configService.AutoRenameFolders) { _logger.Info("{0}'s movie should be {1} according to your naming config.", movie, newFolder); return; } _logger.Info("{0}'s movie folder changed to: {1}", movie, newFolder); var oldFolder = movie.Path; movie.Path = newFolder; _diskProvider.MoveFolder(oldFolder, movie.Path); if (false) { var movieFiles = _mediaFileService.GetFilesByMovie(movie.Id); _logger.ProgressInfo("Renaming movie files for {0}", movie.Title); RenameFiles(movieFiles, movie, oldFolder); _logger.ProgressInfo("All movie files renamed for {0}", movie.Title); } _movieService.UpdateMovie(movie); if (_diskProvider.GetFiles(oldFolder, SearchOption.AllDirectories).Count() == 0) { _recycleBinProvider.DeleteFolder(oldFolder); } } if (movie.PathState == MoviePathState.StaticOnce) { movie.PathState = MoviePathState.Dynamic; _movieService.UpdateMovie(movie); } }