Example #1
0
        public void SetTags(IEnumerable<VideoDto> videos)
        {
            var tagsService = new TagsService();
            var tags = tagsService.GetTags();

            foreach (var video in videos)
            {
                foreach (var tagName in video.Tags)
                {
                    var tag = tags.FirstOrDefault(x => x.Name.Equals(tagName, StringComparison.OrdinalIgnoreCase));

                    if (tag == null)
                    {
                        tag = new TagDto
                        {
                            Id = Guid.NewGuid(),
                            Name = tagName
                        };
                        tag.VideoIds.Add(video.Id);
                        tags.Add(tag);
                    }

                    if (tag.VideoIds.All(x => x != video.Id))
                        tag.VideoIds.Add(video.Id);
                }
            }

            tagsService.SetTags(tags);
        }
Example #2
0
 private void SetTag(TagDto tag)
 {
     var query = new TagsQuery(tag.Id);
     _tagsQueryHandler.CreateOrUpdateValueById<TagDto>(query, tag);
 }