Example #1
0
        public Task Execute(IJobExecutionContext context)
        {
            DbFunctions dfunc = null;
            var         users = dbContext.Users
                                .Include(x => x.Token)
                                .Where(x => SqlServerDbFunctionsExtensions.DateDiffDay(dfunc, x.Token.CreateAt, DateTime.Now) > 1)
                                .ToList();

            if (users.Any())
            {
                var transation = dbContext.Database.BeginTransaction();
                try
                {
                    foreach (var user in users)
                    {
                        if (!user.IsEmailConfirmed)
                        {
                            dbContext.Users.Remove(user);
                        }
                    }
                    dbContext.SaveChanges();
                    transation.Commit();
                }
                catch
                {
                    transation.Rollback();
                }
                finally
                {
                    transation.Dispose();
                    dbContext.Dispose();
                }
            }
            return(Task.FromResult(0));
        }
Example #2
0
 public void Dispose()
 {
     _context.Dispose();
 }