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")); }
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")); }