public Task NotifyForNewRequestAsync(string userId, TvShow tvShow, TvSeason selectedSeason) { if (_automaticNotificationForNewRequests) { _notificationsRepository.AddSeasonNotification(userId, tvShow.TheTvDbId, selectedSeason); } return(Task.CompletedTask); }
private async Task HandleSeasonSelectionAsync(TvShow tvShow, TvSeason selectedSeason) { switch (selectedSeason) { case FutureTvSeasons futureTvSeasons: await new FutureSeasonsRequestingWorkflow(_searcher, _requester, _userInterface, _tvShowNotificationWorkflow) .HandleSelectionAsync(new TvShowRequest(_user, _categoryId), tvShow, futureTvSeasons); break; case AllTvSeasons allTvSeasons: await new AllSeasonsRequestingWorkflow(_searcher, _requester, _userInterface, _tvShowNotificationWorkflow) .HandleSelectionAsync(new TvShowRequest(_user, _categoryId), tvShow, allTvSeasons); break; case NormalTvSeason normalTvSeason: await new NormalTvSeasonRequestingWorkflow(_searcher, _requester, _userInterface, _tvShowNotificationWorkflow) .HandleSelectionAsync(new TvShowRequest(_user, _categoryId), tvShow, normalTvSeason); break; default: throw new Exception($"Could not handle season of type \"{selectedSeason.GetType().Name}\""); } }
public Task WarnAlreadyNotifiedForSeasonsAsync(TvShow tvShow, TvSeason requestedSeason) { return(Task.CompletedTask); }
public Task <bool> GetTvShowRequestConfirmationAsync(TvSeason season) { return(Task.FromResult(true)); }
public async Task DisplayRequestSuccessForSeasonAsync(TvSeason selectedSeason) { await _tvShowUserInterface.DisplayTvShowDetailsAsync(_selectedTvShow); await _tvShowUserInterface.DisplayRequestSuccessForSeasonAsync(selectedSeason); }
public Task DisplayRequestDeniedForSeasonAsync(TvSeason selectedSeason) { return(Task.CompletedTask); }
public Task DisplayNotificationSuccessForSeasonAsync(TvSeason requestedSeason) { return(Task.CompletedTask); }
public Task <bool> AskForSeasonNotificationRequestAsync(TvShow tvShow, TvSeason requestedSeason) { return(Task.FromResult(false)); }
public Task WarnSeasonAlreadyAvailableAsync(TvSeason requestedSeason) { return(Task.CompletedTask); }
public Task WarnAlreadySeasonAlreadyRequestedAsync(TvShow tvShow, TvSeason selectedSeason) { return(Task.CompletedTask); }
public Task NotifyForExistingRequestAsync(string userId, TvShow tvShow, TvSeason selectedSeason) { return(_userInterface.WarnAlreadySeasonAlreadyRequestedAsync(tvShow, selectedSeason)); }
public Task NotifyForNewRequestAsync(string userId, TvShow tvShow, TvSeason selectedSeason) { return(Task.CompletedTask); }
public async Task NotifyForExistingRequestAsync(string userId, TvShow tvShow, TvSeason selectedSeason) { if (_notificationsRepository.HasSeasonNotification(userId, tvShow.TheTvDbId, selectedSeason)) { await _userInterface.WarnAlreadyNotifiedForSeasonsAsync(tvShow, selectedSeason); } else { var isRequested = await _userInterface.AskForSeasonNotificationRequestAsync(tvShow, selectedSeason); if (isRequested) { _notificationsRepository.AddSeasonNotification(userId, tvShow.TheTvDbId, selectedSeason); await _userInterface.DisplayNotificationSuccessForSeasonAsync(selectedSeason); } } }