Пример #1
0
        public async Task <IActionResult> Edit(string id)
        {
            if (User.IsInRole("admin"))
            {
                var user = await userService.GetUserInfoAsync(id);

                var allRoles = await this.userService.GetAllRoles();

                var viewModel = new UpdateUserViewMode()
                {
                    Role = allRoles.Select(r => new SelectListItem(r.RoleName, r.Id.ToString())).ToList()
                };

                if (user.RoleName == "admin")
                {
                    viewModel.Role.Reverse();
                }
                if (viewModel == null)
                {
                    return(NotFound());
                }
                return(View(viewModel));
            }
            else
            {
                if (id != null)
                {
                    return(NotFound());
                }
                var currentMember = User.Identity.Name;
                var user          = await userService.FindUserDTOAsync(currentMember);

                id = user.Id;
                var viewModel = new UpdateUserViewMode()
                {
                    Id = id
                };

                if (viewModel == null)
                {
                    return(NotFound());
                }
                return(View(viewModel));
            }
        }
Пример #2
0
        public async Task <IActionResult> Edit(UpdateUserViewMode vm)
        {
            if (!this.ModelState.IsValid)
            {
                throw new Exception();
            }


            if (User.IsInRole("user"))
            {
                await this.userService.UpdateUserAsync(vm.Id, vm.Password, vm.NewPassword, vm.RoleId);

                return(RedirectToAction("Index", "Home"));
            }
            await this.userService.UpdateUserAsync(vm.Id, vm.Password, vm.NewPassword, vm.RoleId);

            return(RedirectToAction("Index", "User", "Users"));
        }