public void Update(BlogViewModel blog) { _blogRepository.Update(Mapper.Map <BlogViewModel, Blog>(blog)); if (!string.IsNullOrEmpty(blog.Tags)) { string[] tags = blog.Tags.Split(','); foreach (string t in tags) { var tagId = TextHelper.ToUnsignString(t); if (!_tagRepository.FindAll(x => x.Id == tagId).Any()) { Tag tag = new Tag { Id = tagId, Name = t, Type = CommonConstants.ProductTag }; _tagRepository.Add(tag); } _blogTagRepository.RemoveMultiple(_blogTagRepository.FindAll(x => x.Id == blog.Id).ToList()); BlogTag blogTag = new BlogTag { BlogId = blog.Id, TagId = tagId }; _blogTagRepository.Add(blogTag); } } }
public async Task Update(BlogViewModel blog) { await _blogRepository.Update(new BlogViewModel().Map(blog)); if (!string.IsNullOrEmpty(blog.Tags)) { var blogTags = await _blogTagRepository.FindAll(x => x.BlogId == blog.Id); await _blogTagRepository.RemoveMultiple(blogTags.ToList()); string[] tags = blog.Tags.Split(','); foreach (string t in tags) { var tagId = TextHelper.ToUnsignString(t); if (!(await _tagRepository.FindAll(x => x.Id == tagId)).Any()) { Tag tag = new Tag { Id = tagId, Name = t, Type = CommonConstants.ProductTag }; await _tagRepository.Add(tag); } await _blogTagRepository.RemoveMultiple((await _blogTagRepository.FindAll(x => x.Id == blog.Id)).ToList()); BlogTag blogTag = new BlogTag { BlogId = blog.Id, TagId = tagId }; await _blogTagRepository.Add(blogTag); } } }