public async Task <MovieRequestResult> RequestMovieAsync(MovieUserRequester requester, Movie movie) { var retryCount = 0; while (retryCount <= 5) { try { var ombiUser = await FindLinkedOmbiUserAsync(requester.UserId, requester.Username); if (ombiUser.CanRequestMovies && ombiUser.MoviesQuotaRemaining > 0) { var response = await HttpPostAsync(ombiUser, $"{BaseURL}/api/v1/Request/Movie", JsonConvert.SerializeObject(new { theMovieDbId = movie.TheMovieDbId })); await response.ThrowIfNotSuccessfulAsync("OmbiCreateMovieRequest failed", x => x.error); return(new MovieRequestResult()); } return(new MovieRequestResult { WasDenied = true }); } catch (System.Exception ex) { _logger.LogError(ex, $"An error while requesting movie \"{movie.Title}\" from Ombi: " + ex.Message); retryCount++; await Task.Delay(1000); } } throw new System.Exception("An error occurred while requesting a movie from oOmbimbi"); }
public async Task <MovieRequestResult> RequestMovieAsync(MovieUserRequester requester, Movie movie) { var retryCount = 0; while (retryCount <= 5) { try { if (string.IsNullOrEmpty(movie.DownloadClientId)) { await CreateMovieInRadarr(movie); } else { await UpdateExistingMovie(movie); } return(new MovieRequestResult()); } catch (System.Exception ex) { _logger.LogError(ex, $"An error while requesting movie \"{movie.Title}\" from Radarr: " + ex.Message); retryCount++; await Task.Delay(1000); } } throw new System.Exception("An error occurred while requesting a movie from Radarr"); }
async Task <MovieRequestResult> IMovieRequester.RequestMovieAsync(MovieUserRequester requester, Movie movie) { try { var overseerrUser = await FindLinkedOverseerUserAsync(requester.UserId, requester.Username); var response = await HttpPostAsync(overseerrUser, $"{BaseURL}request", JsonConvert.SerializeObject(new { mediaId = int.Parse(movie.TheMovieDbId), mediaType = "movie", })); if (response.StatusCode == System.Net.HttpStatusCode.Forbidden) { return(new MovieRequestResult { WasDenied = true }); } await response.ThrowIfNotSuccessfulAsync("OverseerrRequestMovieRequest failed", x => x.error); return(new MovieRequestResult()); } catch (System.Exception ex) { _logger.LogError(ex, $"An error while requesting movie \"{movie.Title}\" from Overseerr: " + ex.Message); throw new System.Exception($"An error while requesting movie \"{movie.Title}\" from Overseerr: " + ex.Message); } }
public MovieRequest(MovieUserRequester user, int categoryId) { User = user; CategoryId = categoryId; }
public Task <MovieRequestResult> RequestMovieAsync(MovieUserRequester requester, Movie movie) { return(CreateInstance <IMovieRequester>().RequestMovieAsync(requester, movie)); }