public GetChallengerIdsModel(string accessToken, FilterUsersViewModel model, string baseUrl = null, string api = null) { AccessToken = accessToken; BaseUrl = baseUrl ?? AppSettingsProvider.IdentityBaseUrl; Api = api ?? ""; FilterUsersViewModel = model; }
public async Task <IReadOnlyList <string> > CreateChallengeRequests(CreateChallengeRequestModel model) { var filterUsersViewModel = new FilterUsersViewModel(model.ChallengeOwnerId, model.Points, model.Range, model.IsBotActivated); var userIds = await GetChallengerIds( new GetChallengerIdsModel( model.AccessToken, filterUsersViewModel, AppSettingsProvider.LoyaltyBaseUrl, AppSettingsProvider.FilterUsersUrl)); //var filteredUserId = ExcludeOutOfRangeUsers(model.Range, model.ChallengeOwnerId, userIds); //filteredUserId = ApplyGenderFilter(model.Gender, model.ChallengeOwnerId, filteredUserId); foreach (var userId in userIds) { var challengeRequestParams = new ChallengeRequestParams(Status.Active, model.ChallengeOwnerId, userId, model.ChallengeId, Enums.ChallengeRequestStatus.Waiting); CreateOrUpdate(challengeRequestParams); await _hubContext.Clients.User(userId) .SendAsync("ChallengeRequestReceived", JsonConvert.SerializeObject(GetChallengeRequest(challengeRequestParams.Id))); } if (model.IsBotActivated) { var acceptingUserId = userIds.FirstOrDefault(); var botUser = _userService.GetUserByUserId(acceptingUserId); var challengeRequest = Entities.FirstOrDefault(x => x.ChallengeId == model.ChallengeId && x.ChallengerId == acceptingUserId && x.ChallengeOwnerId == model.ChallengeOwnerId); await BotActivationAsync(model, challengeRequest.Id, botUser.Nickname); } return(userIds); }
public IActionResult Admin(FilterUsersViewModel model) { if (!String.IsNullOrEmpty(model.FilterString)) { model.Users = uLogic.GetAllByFilter(model.FilterString); } return(View(model)); }
public async Task <IActionResult> FilterUsers(FilterUsersViewModel model) { var accessToken = HttpContext.Request.Headers["Authorization"].ToString().GetAccessTokenFromHeaderString(); var sufficientPoints = await _loyaltyService.SufficientPoints(accessToken, model.Point, model.IsBotActivated); var sufficientUserIds = sufficientPoints.Select(x => x.UserId).ToList(); var userIds = _loyaltyService.ExcludeOutOfRangeUsers(model.Range, model.ChallengeOwnerId, sufficientUserIds); return(Ok(userIds)); }