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