Beispiel #1
0
        public async Task <IActionResult> Delete(
            [Bind("Id", "Username", "RecaptchaValue")]
            DeleteUserInputModel input)
        {
            var result = await this.userService.Delete(input);

            if (result.Succeeded)
            {
                var dto = new NotificationDto
                {
                    Arg     = input.Username,
                    Message = InfoMessages.DeleteUserNotification,
                    User    = this.User,
                    Link    = ViewUsersUrl,
                };

                await this.notificationHelper.SendToAdmin(dto);

                string infoMessage = string.Format(this.sharedLocalizer.GetHtmlString(InfoMessages.RemoveUser), input.Username);
                return(this.ShowInfoLocal(infoMessage, ViewUsersUrl));
            }

            this.AddErrors(result);
            return(this.ShowErrorLocal(this.sharedLocalizer.GetHtmlString(ErrorMessages.UnsuccessfulDelete), ViewUsersUrl));
        }
Beispiel #2
0
        public async Task <IActionResult> DeleteUser(
            [Bind("Id", "RecaptchaValue")]
            DeleteUserInputModel inputModel, string returnUrl = null)
        {
            returnUrl = ViewUsersUrl;

            var user = await this.userManager.FindByIdAsync(inputModel.Id);

            if (user != null)
            {
                var roles = await this.userManager.GetRolesAsync(user);

                await this.userManager.RemoveFromRoleAsync(user, roles.FirstOrDefault());

                var result = await this.userManager.DeleteAsync(user);

                if (result.Succeeded)
                {
                    this.logger.LogInformation("User deleted.");

                    string infoMessage = string.Format(this.sharedLocalizer.GetHtmlString(InfoMessages.RemoveUser), user.UserName);

                    return(this.ShowInfoLocal(infoMessage, returnUrl));
                }

                this.AddErrors(result);
            }

            return(this.ShowErrorLocal(this.sharedLocalizer.GetHtmlString(ErrorMessages.UnsuccessfulDelete), returnUrl));
        }
        public IActionResult DeleteAccount(DeleteUserInputModel model)
        {
            var user = this.accountService.GetUserByName(model.Username, this.ModelState);

            if (this.User.Identity.Name != model.Username)
            {
                this.ModelState.AddModelError("error", ErrorConstants.IncorrectUsernameOrPasswordError);
            }

            if (ModelState.IsValid)
            {
                this.accountService.LogoutUser();

                this.settingsService.DeleteAccount(user);

                return(this.Redirect("/"));
            }
            else
            {
                var result = this.View("Error", ModelState);
                result.StatusCode = (int)HttpStatusCode.NotFound;

                return(result);
            }
        }
Beispiel #4
0
        public async Task <IdentityResult> Delete(DeleteUserInputModel input)
        {
            var user = await this.userManager.FindByIdAsync(input.Id);

            Validator.EntityNotFoundException(user);
            var roles = await this.userManager.GetRolesAsync(user);

            await this.userManager.RemoveFromRoleAsync(user, roles.FirstOrDefault());

            return(await this.userManager.DeleteAsync(user));
        }
Beispiel #5
0
        public async Task <IActionResult> DeleteAsync([FromForm] DeleteUserInputModel model)
        {
            var service = Ioc.Get <IUserService>();
            var user    = await service.GetUserById(model.Id);

            if (user == null)
            {
                return(Ok(new StandardResult().Fail(StandardCode.ArgumentError, "用户不存在")));
            }
            user.IsDeleted   = true;
            user.DeletedBy   = CurrentUserId;
            user.DeletedTime = DateTime.Now;
            await service.UpdateAsync(user);

            return(Ok(new StandardResult().Succeed("删除成功")));
        }
Beispiel #6
0
        public async Task <IActionResult> DeleteUser(string id)
        {
            var user = await this.userManager.FindByIdAsync(id);

            var roles = await this.userManager.GetRolesAsync(user);

            DeleteUserInputModel deleteUserModel = new DeleteUserInputModel
            {
                Id       = user.Id,
                Username = user.UserName,
                Email    = user.Email,
                RoleType = roles.FirstOrDefault(),
            };

            return(this.View(deleteUserModel));
        }
Beispiel #7
0
        public async Task <IActionResult> Delete(
            [Bind("Id", "Username", "RecaptchaValue")]
            DeleteUserInputModel input)
        {
            var result = await this.userService.Delete(input);

            if (result.Succeeded)
            {
                await SendNotification(input.Username, InfoMessages.EditUserNotification);

                string infoMessage = string.Format(this.sharedLocalizer.GetHtmlString(InfoMessages.RemoveUser), input.Username);
                return(this.ShowInfoLocal(infoMessage, ViewUsersUrl));
            }

            this.AddErrors(result);
            return(this.ShowErrorLocal(this.sharedLocalizer.GetHtmlString(ErrorMessages.UnsuccessfulDelete), ViewUsersUrl));
        }
Beispiel #8
0
        public async Task <DeleteUserInputModel> ByIdDelete(string id)
        {
            var user = await this.userManager.FindByIdAsync(id);

            Validator.EntityNotFoundException(user);
            var roles = await this.userManager.GetRolesAsync(user);

            DeleteUserInputModel model = new DeleteUserInputModel
            {
                Id       = user.Id,
                Username = user.UserName,
                Email    = user.Email,
                RoleType = roles.FirstOrDefault(),
            };

            return(model);
        }