public async Task <IActionResult> Get() { var getPeople = new GetCriterion(); var result = await queryBuilder.For <Entities.People, IQueryable <PeopleViewModel> >().WithAsync(getPeople); var data = await result.ToListAsync(); var peopleIds = data.Select(x => x.Id).ToList(); if (peopleIds.Any()) { var payload = JsonConvert.SerializeObject(new BaseListModel <long> { Data = peopleIds }); var poems = await httpClientFactory.CreateClient(HttpClientNames.PoemService) .PostAsync("api/Get", new StringContent(payload, Encoding.UTF8, "application/json")) .ToModel <List <PoemViewModel> >(); foreach (var item in data) { var poem = poems.Where(x => x.PoetId == item.Id).FirstOrDefault(); item.Poem = poem; } } return(Ok(data)); }
public Task <IQueryable <TResult> > AskAsync(GetCriterion criterion) { return(Task.FromResult( linqProvider.Query <TEntity>() .ProjectTo <TResult>(mapper.ConfigurationProvider) .DecompileAsync() )); }
public async Task <IActionResult> Get([FromBody] BaseListModel <long> payload) { var getPeople = new GetCriterion(); var result = await queryBuilder.For <Poem, IQueryable <PoemViewModel> >().WithAsync(getPeople); result = result.Where(x => payload.Data.Contains(x.PoetId)); return(Ok(result)); }