Ejemplo n.º 1
0
        public static async Task BackupDatabase(IAIDungeonPromptsDbContext dbContext, BackupDbContext backupContext,
                                                CancellationToken cancellationToken = default)
        {
            await CleanBackup(backupContext, cancellationToken);

            List <int>?nonDrafts = await dbContext.NonDraftPrompts.Select(e => e.Id).ToListAsync(cancellationToken);

            var       page       = 0;
            const int pageSize   = 100;
            var       totalCount = await dbContext.Prompts.CountAsync(cancellationToken);

            while (page * pageSize < totalCount)
            {
                List <Prompt>?allPrompts = await dbContext
                                           .Prompts
                                           .Include(e => e.PromptTags)
                                           .ThenInclude(e => e.Tag)
                                           .Include(e => e.WorldInfos)
                                           .OrderBy(e => e.Id)
                                           .Skip(page * pageSize)
                                           .Take(pageSize)
                                           .AsNoTracking()
                                           .ToListAsync(cancellationToken);

                var backups = allPrompts.Where(e => nonDrafts.Contains(e.Id))
                              .Select(prompt => CreateBackupPrompt(prompt)).ToList();
                backupContext.Prompts.AddRange(backups);
                await backupContext.SaveChangesAsync(cancellationToken);

                page++;
            }
        }
Ejemplo n.º 2
0
 public GetReportsQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
 public CreatePromptCommandHandler(IAIDungeonPromptsDbContext dbContext, ICurrentUserService currentUserService)
 {
     _dbContext          = dbContext;
     _currentUserService = currentUserService;
 }
 public ClearReportCommandHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 5
0
 public GetUserQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 6
0
 public RandomPromptQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 7
0
 public GetPromptQueryHandler(IAIDungeonPromptsDbContext dbContext, ICurrentUserService userService)
 {
     _dbContext   = dbContext;
     _userService = userService;
 }
 public CreateTransientUserCommandHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 9
0
 public GetAllTagsQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 10
0
 public LogInQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 11
0
 public GetServerFlagQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 12
0
 public SimilarPromptQueryHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Ejemplo n.º 13
0
 public UpdateUserCommandHandler(IAIDungeonPromptsDbContext dbContext)
 {
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
 }