예제 #1
0
        public async Task <ActionResult <IEnumerable <string> > > Get()
        {
            var query  = new GetAllTagsQuery();
            var result = await _queryDispatcher.DispatchAsync(query).ConfigureAwait(false);

            return(Ok(result));
        }
예제 #2
0
        public async Task <IResponseWrapper <IEnumerable <ITagViewModel> > > Handle(GetAllTagsQuery request, CancellationToken cancellationToken)
        {
            var tags = await _tagService.FetchAllAsync(cancellationToken);

            var viewModels = tags.Select(t => _mapper.Map(t, _viewModelFactory.Create <ITagViewModel>()));

            return(Response.Ok(viewModels));
        }
예제 #3
0
 public async Task <List <TagDetailDto> > Handle(GetAllTagsQuery request, CancellationToken cancellationToken)
 {
     return(await _context.Tags
            .AsNoTracking()
            .ProjectTo <TagDetailDto>(_mapper.ConfigurationProvider)
            .OrderByDescending(c => c.Created)
            .ToListAsync(cancellationToken));
 }
예제 #4
0
        public async Task <IDictionary <Guid, string> > HandleAsync(GetAllTagsQuery query)
        {
            var streamId    = $"{StreamPrefix.Question}_{query.User}";
            var aggregation = await _connectionProvider.Dispatch <GetAllTagsProjection, TagNameState>(streamId).ConfigureAwait(false);

            if (!aggregation.Any())
            {
                return(new Dictionary <Guid, string>());
            }

            return(aggregation.Select(kv => new KeyValuePair <Guid, string>(Guid.Parse(kv.Key), kv.Value.Name)).ToDictionary(pair => pair.Key, pair => pair.Value));
        }
예제 #5
0
        public async Task <string[]> Handle(GetAllTagsQuery query)
        {
            var tagsJoinedCollection = await _blogRepository.GetAllTags();

            var tags = new List <string>();

            foreach (var tagsJoined in tagsJoinedCollection)
            {
                var iTags = _tagMapper.Map(tagsJoined);
                tags.AddRange(iTags.ToList());
            }

            var distincted = tags.Distinct()
                             .OrderBy(t => t)
                             .ToArray();

            return(distincted);
        }
예제 #6
0
 public Task <List <GetTagViewModel> > Handle(GetAllTagsQuery request,
                                              CancellationToken cancellationToken = default) =>
 _dbContext.PromptTags
 .Include(promptTag => promptTag.Tag)
 .Where(promptTag => !promptTag.Prompt !.IsDraft)
예제 #7
0
            public async Task <IEnumerable <TagResource> > Handle(GetAllTagsQuery request, CancellationToken cancellationToken)
            {
                var tags = await _tagRepository.GetAllAsync(cancellationToken);

                return(_mapper.Map <IEnumerable <Tag>, IEnumerable <TagResource> >(tags.OrderBy(t => t.Name)));
            }