示例#1
0
        public GangMemberCollection RemoveMember(IGangMember member)
        {
            if (member == HostMember)
            {
                return(OtherMembers.Any()
                    ? new GangMemberCollection(OtherMembers[0], OtherMembers.Skip(1))
                    : null);
            }

            return(new GangMemberCollection(HostMember, OtherMembers.Remove(member)));
        }
示例#2
0
 public GangMemberCollection(
     IGangMember hostMember = null,
     IEnumerable <IGangMember> otherMembers = null)
 {
     HostMember   = hostMember;
     OtherMembers = otherMembers == null
         ? ImmutableArray <IGangMember> .Empty
         : otherMembers.ToImmutableArray();
     Members = HostMember == null
         ? OtherMembers
         : OtherMembers.Add(HostMember);
 }
示例#3
0
        public GangMemberCollection AddMember(IGangMember member)
        {
            if (Members.Any(m => m.Id.SequenceEqual(member.Id)))
            {
                throw new Exception("Member exists");
            }

            if (HostMember == null)
            {
                return(new GangMemberCollection(member));
            }

            return(new GangMemberCollection(HostMember, OtherMembers.Add(member)));
        }