public async Task AddNotificationAsync(string userId, int theMovieDbId) { var movie = await _movieSearcher.SearchMovieAsync(new MovieRequest(null, int.MinValue), theMovieDbId); _notificationsRepository.AddNotification(userId, int.Parse(movie.TheMovieDbId)); await _userInterface.DisplayNotificationSuccessAsync(movie); }
public async Task NotifyForExistingRequestAsync(string userId, Movie movie) { if (IsAlreadyNotified(userId, movie)) { await _userInterface.WarnMovieUnavailableAndAlreadyHasNotificationAsync(); } else { var isRequested = await _userInterface.AskForNotificationRequestAsync(); if (isRequested) { _notificationsRepository.AddNotification(userId, int.Parse(movie.TheMovieDbId)); await _userInterface.DisplayNotificationSuccessAsync(movie); } } }
private async Task HandleMovieSelectionAsync(Movie movie) { await _userInterface.DisplayMovieDetails(movie); if (CanBeRequested(movie)) { var isRequested = await _userInterface.GetMovieRequestAsync(); if (isRequested) { await _requester.RequestMovieAsync(_user.Username, movie); await _userInterface.DisplayRequestSuccess(movie); _notificationRequestRepository.AddNotification(_user.UserId, int.Parse(movie.TheMovieDbId)); } } else { if (movie.Available) { await _userInterface.WarnMovieAlreadyAvailable(); } else if (IsAlreadyNotified(movie)) { await _userInterface.WarnMovieUnavailableAndAlreadyHasNotification(); } else { var isRequested = await _userInterface.AskForNotificationRequestAsync(); if (isRequested) { _notificationRequestRepository.AddNotification(_user.UserId, int.Parse(movie.TheMovieDbId)); await _userInterface.DisplayNotificationSuccessAsync(movie); } } } }