Ejemplo n.º 1
0
        public void AddInvitation_Test()
        {
            InviteManager i = new InviteManager();

            i.AddInvitation <GameInvitation>("i1", "r1"); //add 1 a
            i.AddInvitation <ChatInvitation>("i1", "r1"); //add 1 b
            i.AddInvitation <ChatInvitation>("i1", "r1"); //idempotence test

            Assert.AreEqual(2, i.Invitations.Count);

            i.AddInvitation <GameInvitation>("i2", "r2");//add 2 a

            Assert.AreEqual(3, i.Invitations.Count);

            i.RemoveInvitation <GameInvitation>("i1", "r1");//remove 1 a

            bool res  = i.IsInvitationSent <GameInvitation>("i1", "r1");
            bool res2 = i.IsInvitationSent <ChatInvitation>("i1", "r1");

            Assert.IsFalse(res);
            Assert.IsTrue(res2);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// initiate invitation send to user
        /// </summary>
        /// <param name="email">email of recipient</param>
        /// <returns></returns>
        public async Task <String> SendInvite(String email)
        {
            IdentityUser recipient = await _um.FindByEmailAsync(email);

            IdentityUser initiator = await _um.GetUserAsync(User);

            bool res = _im.AddInvitation <GameInvitation>(initiator.Id, recipient.Id);

            if (res == true)
            {
                await _Msgr.SendInvite(initiator, recipient);

                await _Msgr.UpdateForm(recipient);

                await _Msgr.UpdateForm(initiator);

                return("invitation to " + email + " sent");
            }
            else
            {
                return("error - invitation to " + email + " already sent");
            }
        }