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"));
        }
Example #2
0
        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));
        }