public async Task Execute(string email, CancellationToken cancellationToken)
        {
            var user = await database.Users.FirstOrDefaultAsync(u => u.Email == email, cancellationToken);

            if (user == null)
            {
                logger.LogInformation("User to check SSO suspend status for doesn't exist, skipping job");
                return;
            }

            if (await SSOSuspendHandler.CheckUser(user, database, communityAPI, devForumAPI, logger, cancellationToken))
            {
                await database.SaveChangesAsync(cancellationToken);
            }
        }
Exemple #2
0
        public async Task Execute(CancellationToken cancellationToken)
        {
            bool requiresSave = false;

            // TODO: even though batching (Buffer) could be used here, won't the database context keep things in memory?
            foreach (var user in await database.Users.ToListAsync(cancellationToken))
            {
                if (await SSOSuspendHandler.CheckUser(user, database, communityAPI, devForumAPI, logger,
                                                      cancellationToken))
                {
                    requiresSave = true;
                }
            }

            if (requiresSave)
            {
                await database.SaveChangesAsync(cancellationToken);
            }
        }