Exemplo n.º 1
0
        public void Toggle(CardMemberViewModel model)
        {
            if (model.Toggle())
            {
                // now attached
                _otherMembers.Remove(model);
                _members.Add(model);

                var evt = new CardMemberAdded
                {
                    CardId     = Id,
                    MemberId   = model.Id,
                    AvatarHash = model.AvatarHash,
                    FullName   = model.FullName,
                    Username   = model.Username
                };
                _eventAggregator.Publish(evt);
            }
            else
            {
                // now unattached
                _members.Remove(model);
                _otherMembers.Insert(0, model);

                var evt = new CardMemberRemoved
                {
                    CardId   = Id,
                    MemberId = model.Id
                };
                _eventAggregator.Publish(evt);
            }
            _eventAggregator.Publish(new MemberAggregationsUpdated {
                AssignedMemberCount = _members.Count
            });
        }
Exemplo n.º 2
0
 public void Handle(CardMemberAdded message)
 {
     FindCardViewModel(message.CardId)
     .IfHasValueThenDo(card =>
     {
         var member = new Member
         {
             Id         = message.MemberId,
             AvatarHash = message.AvatarHash,
             FullName   = message.FullName,
             Username   = message.Username
         };
         card.Members.Add(new MemberViewModel(member));
     });
 }