Example #1
0
        public async Task <IActionResult> TriggerChallenges()
        {
            var accessToken = HttpContext.Request.Headers["Authorization"].ToString().GetAccessTokenFromHeaderString();
            var userId      = await _identityService.GetUserId(accessToken);

            var random          = new Random();
            var challengeParams = new ChallengeParams(Status.Active, userId, random.Next(1, 100));
            var challenge       = _challengeService.CreateOrUpdate(challengeParams);

            await _challengeRequestService
            .CreateChallengeRequests(
                new CreateChallengeRequestModel(
                    accessToken,
                    challenge.Id,
                    userId,
                    challenge.RewardPoint,
                    20,
                    Gender.Unknown,
                    false));

            await _challengeRequestService
            .RejectAcceptChallenge(
                new RejectAcceptChallengeModel()
            {
                AccessToken = accessToken,
                ChallengeId = challenge.Id,
                UserId      = userId
            });

            return(Ok(challengeParams));
        }
Example #2
0
        public async Task <IActionResult> CreateChallenge(CreateChallengeViewModel model)
        {
            var accessToken = HttpContext.Request.Headers["Authorization"].ToString().GetAccessTokenFromHeaderString();
            var userProfile = await _identityService.GetUserProfileByAccessToken(accessToken);

            if (userProfile.UserType == UserType.Basic && model.Range != 0 && model.Sex != Gender.Unknown)
            {
                return(Unauthorized(_localizer.GetString("NotPremium")));
            }

            var challengeParams = new ChallengeParams(Status.Active, userProfile.Id, model.BetAmount, model.IsBotActivated);
            var challenge       = _challengeService.CreateOrUpdate(challengeParams);

            var challengerIds = await _challengeRequestService
                                .CreateChallengeRequests(
                new CreateChallengeRequestModel(
                    accessToken,
                    challenge.Id,
                    userProfile.Id,
                    challenge.RewardPoint,
                    model.Range,
                    model.Sex,
                    model.IsBotActivated));

            if (challengerIds == null || challengerIds.Count == 0)
            {
                _challengeService.Remove(new RemoveEntityParams(challenge.Id, new HasOperator(), true, true));
                return(BadRequest(_localizer.GetString("NoUserFound")));
            }

            return(Ok(challengeParams));
        }
Example #3
0
        private async Task <bool> CreateGame(string accessToken, ChallengeParams challengeParams)
        {
            var createOrUpdateGameViewModel = new CreateOrUpdateGameModel()
            {
                Id             = 0,
                Credit         = challengeParams.RewardPoint,
                GuestUserId    = challengeParams.ChallengerId,
                HostUserId     = challengeParams.ChallengeOwnerId,
                IsBotActivated = challengeParams.IsBotActivated
            };

            var isSuccess = await _gameSyncService.SyncGameTable(createOrUpdateGameViewModel, accessToken);

            return(isSuccess);
        }