public ActionResult AddToPost(PostTagViewModel vm) { try { _tagRepository.AddTagToPost(vm.CurrentTag.Id, vm.Post.Id); return(RedirectToAction("Details", "Post", new { id = vm.Post.Id })); } catch (Exception ex) { return(View(vm)); } }
public ActionResult TagManager(int id, AddTagPostViewModel vm) { try { List <Tag> previouslySelectedTags = _tagRepo.GetPostTags(id); List <int> previouslySelectedTagIds = new List <int>(); foreach (Tag tag in previouslySelectedTags) { previouslySelectedTagIds.Add(tag.Id); } if (vm.SelectedTagIds != null) { foreach (int tagId in vm.SelectedTagIds) { if (!previouslySelectedTagIds.Contains(tagId)) { _tagRepo.AddTagToPost(tagId, id); } } foreach (int tagId in previouslySelectedTagIds) { if (!vm.SelectedTagIds.Contains(tagId)) { _tagRepo.RemoveTagFromPost(tagId, id); } } } else { foreach (int tagId in previouslySelectedTagIds) { _tagRepo.RemoveTagFromPost(tagId, id); } } return(RedirectToAction("Details", "Post", new { id = id })); } catch (Exception) { return(RedirectToAction("Details", "Post", new { id = id })); } }
public IActionResult AddTagToPost(Tag tag, int id) { if (ModelState.IsValid) { var post = _postRepository.GetPostById(id); if (post == null) { return(NotFound()); } //if (!post.Tags.Contains(tag)) _tagRepository.AddTagToPost(tag, id); return(RedirectToAction("Index")); } else { return(View(tag)); } }
public ActionResult GetTagsForPost(int id, PostDetailsViewModel viewModel) { List <Tag> postTags = _tagRepository.GetTagPostById(viewModel.Post.Id); if (postTags.Exists(tag => tag.Id == viewModel.Tag.Id)) { return(RedirectToAction(nameof(Details), "Post", new { id = viewModel.Post.Id })); } try { _tagRepository.AddTagToPost(viewModel.Tag.Id, viewModel.Post); return(RedirectToAction(nameof(Details), "Post", new { id = viewModel.Post.Id })); } catch (Exception ex) { return(View(viewModel)); } }
//[ValidateAntiForgeryToken] public ActionResult Create(PostViewModel postVM) { if (ModelState.IsValid) { var data = Mapper.Map <Post>(postVM); _postRepository.Add(data); _postRepository.SaveChanges(); var post = _postRepository.Find(x => x.CreatedDate == data.CreatedDate && x.Title == data.Title && x.Url == data.Url && x.CategoryId == data.CategoryId && x.Status == data.Status).FirstOrDefault(); //handle Tags var tags = postVM.Tag.Split(','); _tagRepository.AddTagToPost(post.Id, tags); return(RedirectToAction("Index")); } var category = _postCategoryRepository.GetAll().Where(x => x.Status == Status.IsAvtive); ViewBag.Category = category; return(View()); }
public ActionResult Create(string name, int postId) { _tagRepository.AddTagToPost(postId, name); _tagRepository.SaveChanges(); return(RedirectToAction("GetTagByPost", new { postId = postId })); }