public Account FindMemberByNick(string nick) { if (String.IsNullOrEmpty(nick)) { throw new ArgumentNullException(nameof(nick)); } return(GroupAccounts.FirstOrDefault(a => a.Account.Nick == nick)?.Account); }
private void AddAccount(Account account, GroupAccountType type) { _ = account ?? throw new ArgumentNullException(nameof(account)); if (GroupAccounts.All(x => x.Account != account)) { var groupAccount = new GroupAccount(account, this, type); GroupAccounts.Add(groupAccount); account.GroupAccounts.Add(groupAccount); } }
public void RemoveAccount(Account account) { _ = account ?? throw new ArgumentNullException(nameof(account)); var groupAccount = GroupAccounts.SingleOrDefault(x => x.Account == account && x.Type == GroupAccountType.Member); if (groupAccount != null) { GroupAccounts.Remove(groupAccount); account.GroupAccounts.Remove(groupAccount); } }