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