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