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"));
        }
Ejemplo n.º 3
0
        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));
        }