public void Detach(RiotAccount account) { if (!this.accounts.Contains(account)) return; if (account == this.Active) this.SetActive(Enumerable.FirstOrDefault<RiotAccount>((IEnumerable<RiotAccount>) this.accounts, (Func<RiotAccount, bool>) (x => { if (x != account) return x.RealmId == account.RealmId; else return false; })) ?? Enumerable.FirstOrDefault<RiotAccount>((IEnumerable<RiotAccount>) this.accounts)); account.CanConnect = false; this.accounts.Remove(account); account.Close(); this.OnAccountRemoved(account); }
public void Detach(RiotAccount account) { if (!this.accounts.Contains(account)) { return; } if (account == this.Active) { this.SetActive(this.accounts.FirstOrDefault<RiotAccount>((RiotAccount x) => { if (x == account) { return false; } return x.RealmId == account.RealmId; }) ?? this.accounts.FirstOrDefault<RiotAccount>()); } account.CanConnect = false; this.accounts.Remove(account); account.Close(); this.OnAccountRemoved(account); }