Exemple #1
0
        public void JoinGroup(string groupId, BuddyJoinType joinType)
        {
            if (joinType == BuddyJoinType.New && CurrentGroupId != null)
            {
                throw new InvalidOperationException("Can't join group when still being in another one");
            }

            var e = new GroupJoined(Id, groupId);

            Publish(e);
        }
Exemple #2
0
        public void AddBuddy(Buddy buddy, BuddyJoinType joinType)
        {
            if (_buddyIdsBlackList.Contains(buddy.Id))
            {
                throw new InvalidOperationException("Buddy is on this group's blacklist");
            }

            if (_buddyIds.Contains(buddy.Id))
            {
                throw new InvalidOperationException($"Buddy {buddy.Id} is already in the group");
            }

            if (_buddyIds.Count >= MaximumGroupSize)
            {
                throw new InvalidOperationException($"Only {MaximumGroupSize} buddies are allowed per group");
            }

            var e = new BuddyAdded(Id, buddy.Id, joinType);

            Publish(e);
        }
Exemple #3
0
 public BuddyAdded(string id, string buddyId, BuddyJoinType type)
 {
     Id      = id;
     BuddyId = buddyId;
     Type    = type;
 }
Exemple #4
0
 public JoinGroupCommand(string buddyId, string groupId, BuddyJoinType type)
 {
     BuddyId = buddyId;
     GroupId = groupId;
     Type    = type;
 }