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"));
        }