Exemplo n.º 1
0
        public async Task <IActionResult> Edit(string id)
        {
            var result = await userManager.FindByIdAsync(id);

            if (result != null)
            {
                var emp = new UserEditViewsModel()
                {
                    Email  = result.Email,
                    RoleId = result.Id
                };
                var role = await userManager.GetRolesAsync(result);

                if (role != null && role.Any())
                {
                    var name = await roleManager.FindByNameAsync(role.FirstOrDefault());

                    emp.RoleId = name.Id;
                }
                ViewBag.Role = roleManager.Roles;
                return(View(emp));
            }

            return(View());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(UserEditViewsModel model)
        {
            if (ModelState.IsValid)
            {
                var emp = await userManager.FindByIdAsync(model.Id);

                if (emp != null)
                {
                    emp.UserName = model.Email;
                    emp.Email    = model.Email;
                    emp.Id       = model.Id;
                }
                var num = await userManager.UpdateAsync(emp);

                if (num.Succeeded)
                {
                    var rolename = await userManager.GetRolesAsync(emp);

                    var deRole = await userManager.RemoveFromRolesAsync(emp, rolename);

                    if (!string.IsNullOrEmpty(model.RoleId))
                    {
                        var role = await roleManager.FindByIdAsync(model.RoleId);

                        var addRoleresult = await userManager.AddToRoleAsync(emp, role.Name);

                        if (addRoleresult.Succeeded)
                        {
                            return(RedirectToAction("Index", "User"));
                        }
                        foreach (var error in addRoleresult.Errors)
                        {
                            ModelState.AddModelError("", error.Description);
                        }
                    }
                    return(RedirectToAction("Index", "User"));
                }
                foreach (var pb in num.Errors)
                {
                    ModelState.AddModelError("", errorMessage: "Can not match");
                }
            }
            ;

            return(View(model));
        }