public ActionResult DriverDeletePost(string id) { var transactionObj = db.Database.BeginTransaction(); try { AspNetUser aspNetUser = db.AspNetUsers.Find(id); AspNetManager_Drivers ManagerDriverObj = db.AspNetManager_Drivers.FirstOrDefault(x => x.DriverID == id); AspNetDriver_Vehicle DriverVehicleObj = db.AspNetDriver_Vehicle.FirstOrDefault(x => x.DriverID == id); AspNetVehicle VehicleObj = db.AspNetVehicles.FirstOrDefault(x => x.Id == DriverVehicleObj.VehicleID); db.AspNetUsers.Remove(aspNetUser); db.AspNetManager_Drivers.Remove(ManagerDriverObj); db.AspNetDriver_Vehicle.Remove(DriverVehicleObj); db.AspNetVehicles.Remove(VehicleObj); db.SaveChanges(); transactionObj.Commit(); } catch (Exception) { transactionObj.Dispose(); } return(RedirectToAction("DriverIndex")); }
public ActionResult DeleteConfirmed(string id) { var transactionObj = db.Database.BeginTransaction(); try { AspNetUser aspNetUser = db.AspNetUsers.Find(id); AspNetManager_Drivers ManagerDriverObj = db.AspNetManager_Drivers.FirstOrDefault(x => x.DriverID == id); AspNetDriver_Vehicle DriverVehicleObj = db.AspNetDriver_Vehicle.FirstOrDefault(x => x.DriverID == id); AspNetVehicle VehicleObj = db.AspNetVehicles.FirstOrDefault(x => x.Id == DriverVehicleObj.VehicleID); ApplicationDbContext context = new ApplicationDbContext(); 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.RemoveFromRole(id, "Driver"); db.AspNetUsers.Remove(aspNetUser); db.AspNetManager_Drivers.Remove(ManagerDriverObj); db.AspNetDriver_Vehicle.Remove(DriverVehicleObj); db.AspNetVehicles.Remove(VehicleObj); db.SaveChanges(); transactionObj.Commit(); } catch (Exception) { transactionObj.Dispose(); } return(RedirectToAction("Index")); }
public async Task <ActionResult> DriverRegister(RegisterViewModel model) { var TransactionObj = db.Database.BeginTransaction(); try { if (ModelState.IsValid) { var SelectedManager = Request.Form["ManagersList"]; 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, "Driver"); var CurrentUser = UserManager.FindById(User.Identity.GetUserId()); var UserVehicleID = Request.Form["VehicleID"]; var NewVehicle = new AspNetVehicle(); NewVehicle.VehicleID = UserVehicleID; db.AspNetVehicles.Add(NewVehicle); db.SaveChanges(); var DriverObj = db.AspNetUsers.FirstOrDefault(x => x.Email == model.Email && x.UserName == model.UserName); var ManagerDriverObj = new AspNetManager_Drivers(); ManagerDriverObj.ManagerID = SelectedManager; ManagerDriverObj.DriverID = DriverObj.Id; db.AspNetManager_Drivers.Add(ManagerDriverObj); db.SaveChanges(); var NewDriverVehicleObj = new AspNetDriver_Vehicle(); NewDriverVehicleObj.VehicleID = NewVehicle.Id; NewDriverVehicleObj.DriverID = DriverObj.Id; db.AspNetDriver_Vehicle.Add(NewDriverVehicleObj); db.SaveChanges(); } TransactionObj.Commit(); return(RedirectToAction("DriverIndex", "AspNetUsers")); } // AddErrors(result); } catch (Exception ex) { TransactionObj.Dispose(); } // If we got this far, something failed, redisplay form return(View(model)); }