Example #1
0
        public int AddPostTags(List <string> tagsList, int postId)
        {
            using (var db = _paintStoreContext)
            {
                var tagsToRemove = db.PostTags.Where(x => x.PostId == postId).ToList();
                foreach (var tagToRemove in tagsToRemove)
                {
                    db.PostTags.Remove(tagToRemove);
                    TagsManager.TagsCountMinus(db, tagToRemove.TagId);
                }

                foreach (var tag in tagsList)
                {
                    var tagToAdd = GetOrAddTag(tag, db);
                    db.PostTags.Add(new PostTags {
                        PostId = postId, TagId = tagToAdd.Id
                    });
                    TagsManager.TagsCountPlus(db, tagToAdd.Id);
                }
                db.SaveChanges();
            }
            return(postId);
        }