예제 #1
0
 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);
 }