public void KickPlayer(ClanMembership clanMemberShip, string actingPlayer) { if (ChiefTain != actingPlayer && !Shamans.Contains(actingPlayer)) { throw new ValidationException("Only Chieftain or shamans can kick players"); } if (!Members.Contains(clanMemberShip.BattleTag) && !Shamans.Contains(clanMemberShip.BattleTag)) { throw new ValidationException("Player not in this clan"); } if (clanMemberShip.BattleTag == ChiefTain) { throw new ValidationException("Can not kick chieftain"); } clanMemberShip.LeaveClan(); Members.Remove(clanMemberShip.BattleTag); Shamans.Remove(clanMemberShip.BattleTag); }
public void LeaveClan(ClanMembership clanMemberShip) { if (clanMemberShip.BattleTag == ChiefTain) { throw new ValidationException("Chieftain can not leave clan, transfer ownership first"); } clanMemberShip.LeaveClan(); ClanState = ClanState.LeaveClan(clanMemberShip); if (!IsSuccesfullyFounded) { FoundingFathers.Remove(clanMemberShip.BattleTag); } else { Members.Remove(clanMemberShip.BattleTag); } }