public async Task <IActionResult> GetCardsAsync([FromBody] GetCardsRequest request) { try { if (request.ExcludedCardIds == null) { throw new ArgumentException("request.ExcludedCardIds is null"); } if (request.ExcludedTagIds == null) { throw new ArgumentException("request.ExcludedTagIds is null"); } var currentUserId = await UserServices.UserIdFromContextAsync(HttpContext, userManager); var cardsToDownload = request.CurrentCardCount == 0 ? 1 : (request.LearnModeIsUnknown ? 30 : 5); //loading cards to repeat is much more time consuming var applicationRequest = new GetCardsToLearn.Request(currentUserId, request.DeckId, request.LearnModeIsUnknown, request.ExcludedCardIds, request.ExcludedTagIds, cardsToDownload); var applicationResult = await new GetCardsToLearn(dbContext).RunAsync(applicationRequest); var user = await userManager.GetUserAsync(HttpContext.User); var result = new GetCardsViewModel(applicationResult, localizer, user.UserName); return(Ok(result)); } catch (Exception e) { return(ControllerError.BadRequest(e, this)); } }
public override Task<GetCardsResponse> GetByAccounts(GetCardsRequest request, ServerCallContext context) { var cards = cardsRepository.GetByAccounts(request.Ids) .Select(transaction => mapper.Map<Card>(transaction)) .ToArray(); return Task.FromResult(new GetCardsResponse { Cards = { cards } }); }
public override Task<GetCardsResponse> Get(GetCardsRequest request, ServerCallContext context) { var cards = request.Ids.Select(id => cardsRepository.GetCard(id)) .Where(card => card != null) .Select(transaction => mapper.Map<Card>(transaction)) .ToArray(); return Task.FromResult(new GetCardsResponse { Cards = { cards } }); }
public async Task <Card[]> GetCards(Metadata headers, string[] accountsIds) { var request = new GetCardsRequest { Ids = { accountsIds } }; var response = await cardsClient.GetByAccountsAsync(request, headers); return(response.Cards.ToArray()); }
public GetCardsResponse GetCards(GetCardsRequest request) { _logger.LogInformation("GetCards {}", request); return(new GetCardsResponse() { RequestId = request.RequestId, IsSuccess = true, Cards = _cardRepo.Cards, UnopenedCard = _cardRepo.UnopenedCard }); }
public async Task <GetCardsResponse> Response(GetCardsRequest @request) { using (var scope = _serviceScopeFactory.CreateScope()) { var cards = await scope.ServiceProvider.GetRequiredService <ICardService>().GetAsync(@request.Ids); return(new GetCardsResponse() { Cards = cards }); } }
public async Task <IActionResult> GetCards(string[] cardIds) { var request = new GetCardsRequest() { CardIds = cardIds }; var reply = await _client.GetCards(request, Timeouts.GLOBAL); if (!reply.Success) { return(StatusCode(500)); } return(Ok(reply.Response)); }
private async Task <bool> CardCheck(Models.Squad squad, string userId) { var cardIds = AllCardIds(squad); var request = new GetCardsRequest(cardIds); var response = await _bus.RequestAsync <GetCardsRequest, GetCardsResponse>(request); foreach (var cardId in cardIds) { var card = response.Cards.FirstOrDefault(x => x.Id == cardId); if (card == null || card.UserId != userId) { return(false); } } return(true); }
public async Task TestGetCards() { var assignment = CreateAssignmentNew(); assignment.AssignedTo = TestUserId; var assignmentId = await AssignmentUtils.CreateAssignment(assignment); var resultLimit = 1; var getCardsRequest = new GetCardsRequest(); getCardsRequest.AddLimitQuery(resultLimit); getCardsRequest.AddPageQuery(0); getCardsRequest.AddSortQuery("created"); getCardsRequest.AddStartQuery(0); getCardsRequest.AddUserIdQuery(TestUserId); getCardsRequest.AddTypeQuery("default"); var getCardsResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getCardsRequest); Assert.InRange(getCardsResponse.Content.Cards.Count, 1, resultLimit); await AssignmentUtils.DeleteAssignment(assignmentId); }
public async Task <IActionResult> GetCardsAsync([FromBody] GetCardsRequest request) { //I wish this method was a Get instead of a Post, but I did not manager to have it work (with [FromQuery] parameter) var user = await userManager.GetUserAsync(HttpContext.User); var requiredTags = request.RequiredTags.Select(tag => tag.TagId); bool requireCardsHaveNoTag = requiredTags.Count() == 1 && requiredTags.First() == Guid.Empty; if (requireCardsHaveNoTag) { requiredTags = new Guid[0]; } var applicationRequest = new SearchDeckCards.SearchRequest( request.DeckId, requiredTags, requireCardsHaveNoTag, request.HeapFilter == -1 ? null : (int?)request.HeapFilter, request.TextFilter, request.pageNo, request.pageSize); var applicationResult = new SearchDeckCards(dbContext).Run(applicationRequest); return(base.Ok(new GetCardsViewModel(applicationResult, localizer, user.UserName))); }
public GetCardsResponse GetCards(GetCardsRequest request) { return(_gameService.GetCards(request)); }
public Task <MessageResponse <Card[]> > GetCards(GetCardsRequest request, int millisecondsTimeout = -1, CancellationToken cancellationToken = default(CancellationToken)) { return(WriteAndReply <GetCardsRequest, Card[]>(Queueing.Queues.GetCards, request, null, millisecondsTimeout, cancellationToken)); }