Example #1
0
 private void PopulateTagsData(Course course)
 {
     var allTags = db.Tags;
     var coursesTags = new HashSet<int>(course.CourseTags.Select(t => t.TagID));
     var viewModel = new List<AssignedTagData>();
     foreach (var tag in allTags)
     {
         viewModel.Add(new AssignedTagData
         {
             TagID = tag.TagID,
             TagName = tag.Name,
             Assigned = coursesTags.Contains(tag.TagID)
         });
     }
     ViewBag.Tags = viewModel;
 }
Example #2
0
 public void UpdateCourseTags(string[] selectedTags, Course courseToUpdate)
 {
     if (selectedTags == null)
     {
         courseToUpdate.CourseTags = new List<Tag>();
         return;
     }
     var selectedTagsHS = new HashSet<string>(selectedTags);
     var courseTags = new HashSet<int>(courseToUpdate.CourseTags.Select(t => t.TagID));
     foreach (var tag in db.Tags)
     {
         if (selectedTagsHS.Contains(tag.TagID.ToString()))
         {
             if (!courseTags.Contains(tag.TagID))
             {
                 courseToUpdate.CourseTags.Add(tag);
             }
         }
         else
         {
             if (courseTags.Contains(tag.TagID))
             {
                 courseToUpdate.CourseTags.Remove(tag);
             }
         }
     }
 }