public void Delete(Movie movie) { queue.ChckAndAddToMovieList(movie.Name); try { semaphore.WaitAsync(); var indexToDelete = movies.FindIndex(mov => mov.Name.Equals(movie.Name)); if (indexToDelete == -1) { queue.RemoveMovieFromModifyQueue(movie.Name); throw new DataBaseException("No se encontro la pelicula solicitada"); } movies.RemoveAt(indexToDelete); } finally { semaphore.Release(); queue.RemoveMovieFromModifyQueue(movie.Name); } }
private void RemoveDirectorAndMovieFromQueue(string movieName, string dirName) { queue.RemoveMovieFromModifyQueue(movieName); queue.RemoveDirectorFromQueue(dirName); }