public ActionResult ManagerDeletePost(string id) { var transactionObj = db.Database.BeginTransaction(); try { AspNetUser aspNetUser = db.AspNetUsers.Find(id); AspNetAdmin_Managers AdminManagerObj = db.AspNetAdmin_Managers.FirstOrDefault(x => x.ManagerID == id); AspNetManager_Drivers ManagerDriverObj = new AspNetManager_Drivers(); ManagerDriverObj = db.AspNetManager_Drivers.FirstOrDefault(x => x.DriverID == id); while (ManagerDriverObj != null) { ManagerDriverObj = db.AspNetManager_Drivers.FirstOrDefault(x => x.DriverID == id); db.AspNetManager_Drivers.Remove(ManagerDriverObj); db.SaveChanges(); } db.AspNetUsers.Remove(aspNetUser); db.AspNetAdmin_Managers.Remove(AdminManagerObj); db.SaveChanges(); transactionObj.Commit(); } catch (Exception ex) { transactionObj.Dispose(); } return(RedirectToAction("ManagerIndex")); }
public async Task <ActionResult> ManagerRegister(RegisterViewModel model) { var TransactionObj = db.Database.BeginTransaction(); try { if (ModelState.IsValid) { ApplicationDbContext context = new ApplicationDbContext(); var user = new ApplicationUser { UserName = model.UserName, Email = model.Email, PhoneNumber = model.PhoneNumber }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var roleStore = new RoleStore <IdentityRole>(context); var roleManager = new RoleManager <IdentityRole>(roleStore); var userStore = new UserStore <ApplicationUser>(context); var userManager = new UserManager <ApplicationUser>(userStore); userManager.AddToRole(user.Id, "Manager"); var CurrentUser = UserManager.FindById(User.Identity.GetUserId()); var ManagerObj = db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email && x.UserName == model.UserName); var AdminManagerObj = new AspNetAdmin_Managers(); AdminManagerObj.ManagerID = ManagerObj.Id; AdminManagerObj.AdminID = CurrentUser.Id; db.AspNetAdmin_Managers.Add(AdminManagerObj); db.SaveChanges(); } TransactionObj.Commit(); return(RedirectToAction("ManagerIndex", "AspNetUsers")); } // AddErrors(result); } catch (Exception ex) { TransactionObj.Dispose(); } // If we got this far, something failed, redisplay form return(View(model)); }