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)); }
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)); }
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); }