public async Task Delist(int playerId) { var gamespace = await _gamespaceStore.FindByPlayer(playerId); if (gamespace == null || !gamespace.CanManage(User)) { throw new InvalidOperationException(); } var member = gamespace.Players .Where(p => p.PersonId == playerId) .SingleOrDefault(); if (member != null) { gamespace.Players.Remove(member); await _gamespaceStore.Update(gamespace); } }