コード例 #1
0
ファイル: Group.cs プロジェクト: randyammar/Hubby.Backend
        public void RemoveBuddy(string buddyId)
        {
            if (!_buddyIds.Any())
            {
                throw new InvalidOperationException("Group is already empty");
            }

            if (Status != GroupStatus.Merging && _buddyIds.Count == 1)
            {
                throw new InvalidOperationException("Can't leave group when you're the only one in it");
            }

            if (!_buddyIds.Contains(buddyId))
            {
                throw new InvalidOperationException($"Buddy {buddyId} isn't present in the current group");
            }

            var e = new BuddyRemoved(Id, buddyId);

            Publish(e);
        }
コード例 #2
0
ファイル: Group.cs プロジェクト: randyammar/Hubby.Backend
 private void When(BuddyRemoved e)
 {
     _buddyIds.Remove(e.BuddyId);
     _buddyIdsBlackList.Add(e.BuddyId);
 }