Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 public Task <IQueryable <TResult> > AskAsync(GetCriterion criterion)
 {
     return(Task.FromResult(
                linqProvider.Query <TEntity>()
                .ProjectTo <TResult>(mapper.ConfigurationProvider)
                .DecompileAsync()
                ));
 }
Exemplo n.º 3
0
        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));
        }