public async Task <IActionResult> Demigrate(string id) { if (string.IsNullOrEmpty(id)) { throw new InvalidOperationException(); } var user = await _userManager.FindByIdAsync(id); if (user == null) { throw new InvalidOperationException(); } if (user.MigrationStatus != (int)MigrationStatus.MigratedWithoutPassword && user.MigrationStatus != (int)MigrationStatus.MigratedWithPassword) { throw new InvalidOperationException(); } await _graphService.DeleteUserAsync(user.UserName); user.MigrationStatus = (int)MigrationStatus.NotMigrated; await _userManager.UpdateAsync(user); return(RedirectToAction("Index")); }