Пример #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(RedirectToPage("/Account/Errors/AccessDenied", new { Area = "Identity" }));
            }

            if (!user.isExternal)
            {
                RequirePassword = await _userManager.HasPasswordAsync(user);

                if (!await _userManager.CheckPasswordAsync(user, Input.Password))
                {
                    ModelState.AddModelError(string.Empty, "Грешна парола.");
                    return(Page());
                }

                _baseService.Delete(user.PictureName);
            }

            await _jobsService.DeleteAllBy(0, user);

            await _companyService.DeleteAllBy(user);

            await _contestantService.DeleteAllBy(user);

            await _resumeService.DeleteAllBy(user);

            var result = await _userManager.DeleteAsync(user);

            if (!result.Succeeded)
            {
                _baseService.ToastNotifyLog(user, ToastMessageState.Error, "Грешка", "при изтриване на акаунта ви.", $"{user.UserName}, {user.Email} ,{user.Role}", 2000);
            }

            await _signInManager.SignOutAsync();

            return(Redirect("~/"));
        }