private async Task DeleteImages(IeemdbDbContext ctx, DateTimeOffset timeToDelete, CancellationToken token) { var deleteImages = await ctx.Images.IgnoreQueryFilters() .Where(x => x.IsDeleted) .Where(x => x.UpdatedAt < timeToDelete) .ToListAsync(token); if (deleteImages.Count != 0) { ctx.Images.RemoveRange(deleteImages); logger.LogInformation("Removed {Count} genres", deleteImages.Count); } }
private static async Task SeedGenres(IeemdbDbContext ctx, ITheMovieDb api, ILogger logger) { if (await ctx.Genres.AnyAsync()) { return; } var genres = await api.GetGenres(); var genreEntities = genres.genres.Select(x => new Genre { Name = x.name, TmdbId = x.id, }).ToList(); ctx.Genres.AddRange(genreEntities); }
public AccountController( ILogger <AccountController> logger, IeemdbDbContext ctx, IPureMapper mapper, RoleManager <IeemdbRole> roleManager, UserManager <IeemdbUser> userManager, IOptions <JwtOptions> options, IEmailSender sender, RazorViewToStringRenderer renderer) : base(logger, ctx, mapper) { this.roleManager = roleManager; this.userManager = userManager; this.renderer = renderer; emailSender = sender; jwtOptions = options.Value; }
public AdminController( ILogger <AdminController> logger, IeemdbDbContext ctx, IPureMapper mapper, IEnumerable <IHostedService> hostedServices) : base(logger, ctx, mapper) { deleteService = hostedServices.OfType <DeletedCleanupService>().SingleOrDefault() ?? throw new InvalidOperationException( $"Could not locate an instance of the service {nameof(DeletedCleanupService)}"); movieSeedService = hostedServices.OfType <MovieSyncingService>().SingleOrDefault() ?? throw new InvalidOperationException( $"Could not locate an instance of the service {nameof(MovieSyncingService)}"); tokenCleanupService = hostedServices.OfType <RefreshTokenCleanupService>().SingleOrDefault() ?? throw new InvalidOperationException( $"Could not locate an instance of the service {nameof(RefreshTokenCleanupService)}"); }
private async Task DeleteWriter(IeemdbDbContext ctx, DateTimeOffset timeToDelete, CancellationToken token) { var deletedWriters = await ctx.People.IgnoreQueryFilters() .Where(p => p.KnownFor == DepartmentEnums.Writing) .Where(x => x.IsDeleted) .Where(x => x.UpdatedAt < timeToDelete) .ToListAsync(token); if (deletedWriters.Count != 0) { var movieWriters = await ctx.MoviePeople.Where(x => deletedWriters.Contains(x.Person)).ToListAsync(token); ctx.MoviePeople.RemoveRange(movieWriters); ctx.People.RemoveRange(deletedWriters); logger.LogInformation("Removed {Count} writers", deletedWriters.Count); } }
private async Task DeleteMovies(IeemdbDbContext ctx, DateTimeOffset timeToDelete, CancellationToken token) { var deletedMovies = await ctx.Movies.IgnoreQueryFilters() .Where(x => x.IsDeleted) .Where(x => x.UpdatedAt < timeToDelete) .ToListAsync(token); if (deletedMovies.Count != 0) { var movieActors = await ctx.MoviePeople .Where(x => deletedMovies.Contains(x.Movie) && x.Person.KnownFor == DepartmentEnums.Acting) .ToListAsync(token); var movieDirectors = await ctx.MoviePeople .Where(x => deletedMovies.Contains(x.Movie) && x.Person.KnownFor == DepartmentEnums.Directing) .ToListAsync(token); var movieWriters = await ctx.MoviePeople .Where(x => deletedMovies.Contains(x.Movie) && x.Person.KnownFor == DepartmentEnums.Writing) .ToListAsync(token); var movieRatings = await ctx.Ratings.Where(x => deletedMovies.Contains(x.Movie)).ToListAsync(token); var movieGenres = await ctx.MovieGenres.Where(x => deletedMovies.Contains(x.Movie)).ToListAsync(token); var movieCountries = await ctx.MovieCountries.Where(x => deletedMovies.Contains(x.Movie)).ToListAsync(token); var movieScreenshots = await ctx.Images.Where(x => deletedMovies.Contains(x.Movie)).ToListAsync(token); ctx.MovieCountries.RemoveRange(movieCountries); ctx.Ratings.RemoveRange(movieRatings); ctx.MoviePeople.RemoveRange(movieActors); ctx.MoviePeople.RemoveRange(movieDirectors); ctx.MoviePeople.RemoveRange(movieWriters); ctx.MovieGenres.RemoveRange(movieGenres); ctx.Images.RemoveRange(movieScreenshots); logger.LogInformation("Removed {Count} movies", deletedMovies.Count); ctx.Movies.RemoveRange(deletedMovies); } }
private static async Task SeedCountries(IeemdbDbContext ctx, ITheMovieDb api, ILogger logger) { if (await ctx.Countries.AnyAsync()) { return; } try { var countries = await api.GetCountries(); var countryEntities = countries.Select(x => new Country { Iso = x.iso_3166_1, Name = x.english_name }) .ToList(); ctx.Countries.AddRange(countryEntities); } catch (ApiException e) { logger.LogCritical(e, "Unhandled exception caught: {Message}", e.Message); } }
public RatingController(ILogger <RatingController> logger, IeemdbDbContext ctx, IPureMapper mapper, UserManager <IeemdbUser> userManager) : base(logger, ctx, mapper) { this.userManager = userManager; }
protected BaseController(ILogger <T> logger, IeemdbDbContext ctx, IPureMapper mapper) { Logger = logger; Context = ctx; Mapper = mapper; }
public DirectorController(ILogger <DirectorController> logger, IeemdbDbContext ctx, IPureMapper mapper) : base(logger, ctx, mapper) { }
public GenreController(ILogger <GenreController> logger, IeemdbDbContext ctx, IPureMapper mapper) : base(logger, ctx, mapper) { }
public CountryController(ILogger <CountryController> logger, IeemdbDbContext ctx, IPureMapper mapper) : base(logger, ctx, mapper) { }
public WriterController(ILogger <WriterController> logger, IeemdbDbContext ctx, IPureMapper mapper) : base(logger, ctx, mapper) { }
public FavoriteController(ILogger <MovieController> logger, IeemdbDbContext ctx, IPureMapper mapper, UserManager <IeemdbUser> userManager) : base(logger, ctx, mapper) { this.userManager = userManager; }