public PresenceConnectResult PresenceConnect(PresenceConnectRequest request)
        {
            int userId;

            this.TryGetUserId(out userId);

            var party = new Party
            {
                Id             = Guid.NewGuid().ToString(),
                MatchmakeState = 0,
                GameData       = new byte[100]
            };

            _partyRepository.CreateAsync(party).Wait();

            var partyOwner = new PartyMember
            {
                UserId  = userId,
                PartyId = party.Id,
                IsOwner = true
            };

            _partyMemberRepository.CreateAsync(partyOwner).Wait();

            var partyStatus = GetPartyStatus(party, new[] { partyOwner });

            return(new PresenceConnectResult
            {
                Result = new ServiceResult <PartyStatus>
                {
                    Data = partyStatus
                }
            });
        }