public async Task <ActionResult> DeleteConfirmed(string email)
        {
            if (!User.IsInRole("Admin") || email == "*****@*****.**")
            {
                return(RedirectToAction("Index", "Home"));
            }

            var user = await dbContext.Users.FirstOrDefaultAsync(x => x.Email == email);

            var smartJobs = await dbContext.SmartJobs.Include("CreatedBy").Where(x => x.CreatedBy.Id == user.Id).ToListAsync();

            var events = await dbContext.JobEvents.Include("SmartJob").Include("SmartJob.CreatedBy").Where(x => x.SmartJob.CreatedBy.Id == user.Id).ToListAsync();

            foreach (var smartJob in smartJobs)
            {
                await QuartzTasks.DeleteJob(smartJob.ID, false);
            }

            dbContext.JobEvents.RemoveRange(events);
            dbContext.SmartJobs.RemoveRange(smartJobs);
            dbContext.Users.Remove(user);

            await dbContext.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemple #2
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            var smartJob = await dbContext.SmartJobs.FirstOrDefaultAsync(x => x.ID == id);

            var events = await dbContext.JobEvents.Include("SmartJob").Where(x => x.SmartJob.ID == id).ToListAsync();

            dbContext.JobEvents.RemoveRange(events);
            dbContext.SmartJobs.Remove(smartJob);

            await dbContext.SaveChangesAsync();

            await QuartzTasks.DeleteJob(id, false);

            return(RedirectToAction("Index"));
        }