private async Task RequestNotificationsForSeasonAsync(TvShow tvShow, TvSeason selectedSeason) { if (selectedSeason.IsAvailable) { await _userInterface.WarnSeasonAlreadyAvailable(selectedSeason); } else { if (_notificationRequestRepository.HasSeasonNotification(_user.UserId, tvShow.TheTvDbId, selectedSeason)) { await _userInterface.WarnAlreadyNotifiedForSeasonsAsync(tvShow, selectedSeason); } else { var isRequested = await _userInterface.AskForSeasonNotificationRequestAsync(tvShow, selectedSeason); if (isRequested) { _notificationRequestRepository.AddSeasonNotification(_user.UserId, tvShow.TheTvDbId, selectedSeason); await _userInterface.DisplayNotificationSuccessForSeasonAsync(selectedSeason); } } } }