Esempio n. 1
0
        protected override IEnumerator setup()
        {
            yield return(base.setup());

            IFindUserResult findUserResult = null;

            bobSession.LocalUser.FindUser(aliceSession.LocalUser.DisplayName.Text, delegate(IFindUserResult r)
            {
                findUserResult = r;
            });
            while (findUserResult == null)
            {
                yield return(null);
            }
            IntegrationTestEx.FailIf(!findUserResult.Success, "Find user failed");
            ISendFriendInvitationResult sendInviteResult = null;

            bobSession.LocalUser.SendFriendInvitation(findUserResult.User, requestTrust : false, delegate(ISendFriendInvitationResult r)
            {
                sendInviteResult = r;
            });
            while (sendInviteResult == null)
            {
                yield return(null);
            }
            IntegrationTestEx.FailIf(!sendInviteResult.Success, "Send friend invitation failed");
        }
Esempio n. 2
0
        public IOutgoingFriendInvitation SendFriendInvitation(IUnidentifiedUser user, bool requestTrust, Action <ISendFriendInvitationResult> callback)
        {
            IInternalUnidentifiedUser internalUnidentifiedUser = unidentifiedUsers.FirstOrDefault((IInternalUnidentifiedUser u) => u.DisplayName.Text == user.DisplayName.Text);

            if (internalUnidentifiedUser == null)
            {
                logger.Critical("User to send friend invitation to not found");
                callback(new SendFriendInvitationResult(success: false, null));
                return(null);
            }
            ISendFriendInvitationResult invitationValidationResult = GetInvitationValidationResult(user.DisplayName.Text, requestTrust);

            if (invitationValidationResult != null)
            {
                callback(invitationValidationResult);
                return(null);
            }
            return(InternalSendFriendInvitation(internalUnidentifiedUser, requestTrust, callback));
        }
Esempio n. 3
0
        private IOutgoingFriendInvitation InternalSendFriendInvitation(IInternalUnidentifiedUser internalUser, bool requestTrust, Action <ISendFriendInvitationResult> callback)
        {
            ISendFriendInvitationResult invitationValidationResult = GetInvitationValidationResult(internalUser.DisplayName.Text, requestTrust);

            if (invitationValidationResult != null)
            {
                callback(invitationValidationResult);
                return(null);
            }
            OutgoingFriendInvitation invitation = new OutgoingFriendInvitation(this, internalUser, requestTrust);

            AddOutgoingFriendInvitation(invitation);
            FriendInvitationSender.Send(logger, notificationQueue, mixWebCallFactory, internalUser.DisplayName.Text, requestTrust, delegate
            {
                callback(new SendFriendInvitationResult(success: true, invitation));
            }, delegate(ISendFriendInvitationResult r)
            {
                RemoveOutgoingFriendInvitation(invitation);
                callback(r);
            });
            return(invitation);
        }
Esempio n. 4
0
 private void onSendFriendInvitationSent(ISendFriendInvitationResult result, string friendName)
 {
     Service.Get <EventDispatcher>().DispatchEvent(new FriendsServiceEvents.SendFriendInvitationSent(result.Success, friendName));
 }