public async Task AddTagToNewsAsync(int postId, string tagName) { var postTags = await _postRepository.GetAllTagsByPostIdAsync(postId); var tag = await _tagService.GetTagByNameAsync(tagName) ?? await _tagService.AddTagAsync(new Tag { Name = tagName }); if (!postTags.Select(s => s.Name).Contains(tagName)) { await _postRepository.AddTagToPostAsync(postId, Mapper.Map <Tag, TagEntity>(tag)); } }
public async Task AddTagsToBlogAsync(int postId, IEnumerable <string> tags) // TODO rename method { if (tags != null) { List <TagEntity> postTags = await _postRepository.GetAllTagsByPostIdAsync(postId); IEnumerable <string> enumerable = tags as IList <string> ?? tags.ToList(); foreach (var t in enumerable) { Tag tag = await _tagService.GetTagByNameAsync(t) ?? await _tagService.AddTagAsync(new Tag { Name = t }); if (!postTags.Select(s => s.Name).Contains(t)) { await _postRepository.AddTagToPostAsync(postId, Mapper.Map <Tag, TagEntity>(tag)); } } postTags .Where(pt => !enumerable.Contains(pt.Name)) .ToList() .ForEach(async pt => await _postRepository.RemoveTagFromPostAsync(postId, pt)); //!!!!!!!!!!!!!!!!! } }
public async Task <IActionResult> Put([FromBody] Tag tag) { var result = await _tagService.AddTagAsync(tag.Title); return(Ok(result)); }
public async Task <Tag> CreateTag(string name) { Tag newTag = await _tagService.AddTagAsync(new Tag { Name = name }); return(newTag); }