public static void SendInvitation()
        {
            FBInvitation FBInvitation = new FBInvitation();

            FBInvitation.MessageCode = MessageCode.INVITEDBYFRIEND;
            FBInvitation.RoomId      = GlobalContext.GameRoomId;
            FBInvitation.HostFBName  = GlobalContext.localUsername;
            FBInvitation.HostFBId    = GlobalContext.UserFacebookId;
            FBInvitation.RemoteFBId  = GlobalContext.RemoteFacebookId;
            String jsonstring = JsonConvert.SerializeObject(FBInvitation, Formatting.None);

            WarpClient.GetInstance().sendPrivateChat(GlobalContext.RemoteFacebookName, jsonstring);
        }
        public static void HandlePrivateMessage(String Message)
        {
            FBInvitation fbInvite = JsonConvert.DeserializeObject <FBInvitation>(Message);

            switch (fbInvite.MessageCode)
            {
            case MessageCode.INVITEDBYFRIEND:
                if (fbInvite.RemoteFBId.Equals(GlobalContext.UserFacebookId))
                {
                    Deployment.Current.Dispatcher.BeginInvoke(delegate()
                    {
                        MessageBoxResult result = MessageBox.Show("Your friend " + fbInvite.HostFBName + " inviting you to play a quiz game with him", "Invitation", MessageBoxButton.OKCancel);
                        if (result == MessageBoxResult.OK)
                        {
                            if (!GlobalContext.GameRoomId.Equals(""))
                            {
                                WarpClient.GetInstance().LeaveRoom(GlobalContext.GameRoomId);
                                WarpClient.GetInstance().JoinRoom(fbInvite.RoomId);
                            }
                            else
                            {
                                WarpClient.GetInstance().JoinRoom(fbInvite.RoomId);
                            }
                        }
                        else if (result == MessageBoxResult.Cancel)
                        {
                            fbInvite.MessageCode = MessageCode.INVITEFRIENDRESPONSE;
                            WarpClient.GetInstance().sendPrivateChat(fbInvite.HostFBName, JsonConvert.SerializeObject(fbInvite, Formatting.None));
                        }
                    });
                }
                break;

            case MessageCode.INVITEFRIENDRESPONSE:
                Deployment.Current.Dispatcher.BeginInvoke(delegate()
                {
                    if (fbInvite.HostFBId.Equals(GlobalContext.UserFacebookId))
                    {
                        MessageBoxResult result = MessageBox.Show("Your friend has denied your request", "Invitation Response", MessageBoxButton.OK);
                        App.g_HomePageListener.ClosePopup();
                    }
                });
                break;
            }
        }