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); }
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);