public async Task <IActionResult> Create([Required] ApplicationUserRoleViewModel obj)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = await userManager.FindByNameAsync(obj.UserName);

                IList <string> listRoles = await userManager.GetRolesAsync(user);

                if (!await userManager.IsInRoleAsync(user, obj.RoleName))
                {
                    IdentityResult result = await userManager.AddToRoleAsync(user, obj.RoleName);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    ModelState.AddModelError("", "User already assigned to this role");
                }
            }

            return(View(obj));
        }
        // GET: ApplicationUsers
        public ActionResult Index()
        {
            var viewModel = new ApplicationUserRoleViewModel();

            viewModel.AppUsers  = db.Users.OrderBy(u => u.LastName).ToList();
            viewModel.UserRoles = db.Roles.OrderBy(r => r.Name).ToList();

            return(View(viewModel));
        }
            public async Task <ActionResult> AddUserToRole(ApplicationUserRoleViewModel model)
            {
                var dbCon = new ApplicationDbContext();
                var role  = dbCon.Roles.Find(model.RoleId);

                if (role != null)
                {
                    await _userManager.AddToRoleAsync(model.UserId, role.Name);
                }
                return(RedirectToAction("AddUserToRole"));
            }
        public async Task <ActionResult> AddUserToRole()
        {
            ApplicationUserRoleViewModel vm = new ApplicationUserRoleViewModel();
            var Users = await db.Users.ToListAsync();

            var roles = await db.Roles.ToListAsync();

            ViewBag.UserId = new SelectList(Users, "Id", "UserName");
            ViewBag.RoleId = new SelectList(roles, "Id", "Name");
            return(View(vm));
        }
        public ActionResult AddUserToRole(ApplicationUserRoleViewModel model)
        {
            var role = db.Roles.Find(model.RoleId);

            if (role != null)
            {
                //await UserManager.AddToRoleAsync(model.UserId, role.Name);
                // SQL Insert into Inline query db.database.execute query
                var query = "INSERT INTO ASPNetUserRoles (UserId, RoleId) VALUES (\'" + model.UserId + "\',\'" + role.Id + "\')";
                try
                {
                    db.Database.ExecuteSqlCommand(query);
                    db.SaveChanges();
                    TempData["SuccessMsg"] = "Assigned the role!";
                }
                catch (System.Data.SqlClient.SqlException)
                {
                    TempData["ErrorMsg"] = "User already has role.";
                }
                return(RedirectToAction("viewUsers"));
            }
            return(RedirectToAction("AddUserToRole"));
        }