public ActionResult Create(PostTagViewModel vm, int id) { vm.Post = _postRepository.GetPublishedPostById(id); vm.PostTagList = _tagRepository.GetTagsByPostId(id); vm.AllTags = _tagRepository.GetAllTags(); try { foreach (Tags t in vm.PostTagList) { var postTag = _postTagRepository.GetPostTagbyPostWithTag(t.Id, id); if (postTag != null) { _postTagRepository.DeletePostTag(postTag.Id); } } if (vm.IsSelected != null) { foreach (int tagId in vm.IsSelected) { var aPostTag = new PostTag() { PostId = id, TagId = tagId }; _postTagRepository.AddTagToPost(aPostTag); } return(RedirectToAction("UserPostDetails", "Post", new { id = id })); } else { return(RedirectToAction("UserPostDetails", "Post", new { id = id })); } } catch { return(View(vm)); } }