public ActionResult Create() { var news = new News(); news.NewsTags = new List<NewsTag>(); TagList(news); CategoryList(); return View(); }
private void EditPostTags(string[] checkedTag, News newsToUpdate) { if (checkedTag == null) { newsToUpdate.NewsTags = new List<NewsTag>(); return; } var selectedTag = new HashSet<string>(checkedTag); var newstags = new HashSet<int>(newsToUpdate.NewsTags.Select(t => t.TagId)); foreach (var tag in db.NewsTags) { var tagidstring = tag.TagId.ToString(); if (selectedTag.Contains(tagidstring)) { if (!newstags.Contains(tag.TagId)) { newsToUpdate.NewsTags.Add(tag); } } else { if (newstags.Contains(tag.TagId)) { newsToUpdate.NewsTags.Remove(tag); } } } }
private void TagList(News news) { var allTags = db.NewsTags; var PostTags = new HashSet<int>(news.NewsTags.Select(t => t.TagId)); var SelectedTags = new List<NewsTagsViewModel>(); var NotSelectedTags = new List<NewsTagsViewModel>(); foreach (var tag in allTags) { if (PostTags.Contains(tag.TagId)) { SelectedTags.Add(new NewsTagsViewModel { TagId = tag.TagId, TagName = tag.TagName }); } else { NotSelectedTags.Add(new NewsTagsViewModel { TagId = tag.TagId, TagName = tag.TagName }); } } ViewBag.SelectedTags = new MultiSelectList(SelectedTags, "TagId", "TagName"); ViewBag.NotSelectedTags = new MultiSelectList(NotSelectedTags, "TagId", "TagName"); }