public async Task <IActionResult> OnPostAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }

            //task削除処理
            var tododbstore = new TodoDbStore(_context);

            tododbstore.Delete(user.Id);

            var result = await _userManager.DeleteAsync(user);

            var userId = await _userManager.GetUserIdAsync(user);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'.");
            }

            await _signInManager.SignOutAsync();

            _logger.LogInformation("User with ID '{UserId}' deleted themselves.", userId);

            return(Redirect("~/"));
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:twe_todo_app.Controllers.TodoController"/> class.
 /// </summary>
 /// <param name="httpContextAccessor">Http context accessor.</param>
 /// <param name="context">DB Context.</param>
 /// <param name="consumeraccesor">Twitter API Consumer key accesor.</param>
 public TodoController(IHttpContextAccessor httpContextAccessor
                       , ApplicationDbContext context
                       , IOptions <ConsumerKeys> consumeraccesor)
 {
     _userid         = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier);
     _tododbstore    = new TodoDbStore(context);
     _contentbuilder = new ContentBuilder();
     _twitterclient  = new TwitterClient(httpContextAccessor, consumeraccesor.Value);
 }