private static int CalculateNextPageNumber(TvMazeDbContext tvMazeDbContext, TvMazeOptions tvMazeConfiguration) { try { var page = 0; if (!tvMazeDbContext.Set <Show>().Any()) { return(page); } var lastAddedShowId = tvMazeDbContext.Set <Show>().OrderBy(s => s.Id).Last().Id; page = Convert.ToInt32(Math.Round(lastAddedShowId / tvMazeConfiguration.MaximumNumberOfShowsPerPage, MidpointRounding.ToZero)); return(page); } catch (Exception) { throw; } }
public static void AddTvMazeClient(this IServiceCollection services, TvMazeOptions options) { services.AddHttpClient <ITvMazeService, TvMazeService>() .ConfigureHttpClient(i => { i.BaseAddress = new Uri(options.BaseAddress); }) .AddPolicyHandler(GetRetryPolicy(Int32.MaxValue, options.RetryTimeout)); }
public TvMazeConnector(HttpClient httpClient, IOptions <TvMazeOptions> options) { _httpClient = httpClient; _options = options.Value; }