public async Task <IActionResult> EditPost(EditUserViewModel model, string Role, string Id)
        {
            var roles = await _roleRepo.getAll();

            ViewBag.Roles       = roles;
            ViewBag.CurrentRole = Role;

            if (!ModelState.IsValid)
            {
                return(View("~/Views/Admin/User/Edit.cshtml", model));
            }

            if (model.Password != null && model.Password != "")
            {
                if (model.Password.Length < 5)
                {
                    ModelState.AddModelError("Password", "Mật khẩu ít nhất 5 ký tự");
                    return(View("~/Views/Admin/User/Edit.cshtml", model));
                }
                if (model.Password != model.PasswordConfirm)
                {
                    ModelState.AddModelError("Password", "Mật khẩu thay đổi không trùng khớp");
                    return(View("~/Views/Admin/User/Edit.cshtml", model));
                }
            }

            var user = await _userRepo.getById(Id);

            user = model.EditMapToUser(user);

            await _userRepo.Update(user, Role, model.Password);

            return(Redirect("/admin/user"));
        }