/// <summary>
        /// Method that receives messenger calls to do embedded functions
        /// </summary>
        /// <param name="member"></param>
        private void ReceiveMembership(MessageMemberModel member)
        {
            // For updating membership
            if (member.Selection == "Update")
            {
                if (!Memberships.Contains(member.Membership))
                {
                    // Using indexer.
                    Memberships[Memberships.IndexOf(SelectedMember)] = member.Membership;
                }
                else if (!SelectedMember.Equals(member.Membership))
                {
                    // Notify user about duplicate membership
                    Messenger.Default.Send <NotificationMessage>(new
                                                                 NotificationMessage($"{MemberAlreadyExistMsg}\n" +
                                                                                     $"{MergingMembershipsMsg}"));

                    // Removing outdated data using minus operator.
                    Memberships -= SelectedMember;
                }
            }
            // For adding membership
            else if (member.Selection == "Add")
            {
                // Checks if membership is already in list.
                if (Memberships.Contains(member.Membership))
                {
                    // Notifies user that it exists then returns.
                    Messenger.Default.Send <NotificationMessage>(new
                                                                 NotificationMessage(MemberAlreadyExistMsg));
                    return;
                }

                // Membership not found then add using add operator.
                Memberships += member.Membership;
            }
            // For deleting membership
            else if (member.Selection == "Delete")
            {
                // Confirms that membership is in list
                if (Memberships.Contains(member.Membership))
                {
                    // Removes found membership.
                    Memberships.Remove(SelectedMember);
                    Messenger.Default.Send(new NotificationMessage(DeleteMsg));
                }
            }
            else if (member.Selection == "ListSelect")
            {
                return;
            }
            else
            {
                Messenger.Default.Send <NotificationMessage>(new NotificationMessage(MembershipNotFoundMsg));
                return;
            }
        }
コード例 #2
0
        public void AddMembership(Membership membership)
        {
            if (Memberships.Contains(membership))
            {
                return;
            }

            Memberships.Add(membership);
        }
コード例 #3
0
ファイル: Map.cs プロジェクト: DarkFIxED/topocat
        public void CancelInvite(MapMembership existingMembership)
        {
            if (!Memberships.Contains(existingMembership))
            {
                throw new ArgumentNullException(nameof(existingMembership), "Invite not found");
            }

            if (existingMembership.Status != MapMembershipStatus.DecisionNotMade)
            {
                throw new DomainException("Can not cancel invite with specified decision");
            }

            existingMembership.MarkAsRemoved();
            Memberships.Remove(existingMembership);
        }