public async Task AddOrUpdateAsync(IEnumerable <Tag> tags)
        {
            var allTags = await _tagRepository.BrowseAsync(new BrowseTags
            {
                Results = int.MaxValue
            });

            var newTags = new List <Tag>();

            foreach (var tag in tags)
            {
                var existingTag = allTags.Value.Items.SingleOrDefault(x => x.Name == tag.Name);
                if (existingTag != null)
                {
                    continue;
                }
                if (newTags.Any(x => x.Name == tag.Name))
                {
                    continue;
                }
                newTags.Add(tag);
            }
            await _tagRepository.AddManyAsync(newTags);
        }
Ejemplo n.º 2
0
 public async Task <Maybe <PagedResult <Tag> > > BrowseTagsAsync(BrowseRemarkTags query)
 => await _provider.GetCollectionAsync(
     async() => await _tagRepository.BrowseAsync(query),
     async() => await _serviceClient.BrowseTagsAsync <Tag>(query));
 public async Task <Maybe <PagedResult <Tag> > > BrowseTagsAsync(BrowseTags query)
 => await _tagRepository.BrowseAsync(query);