Beispiel #1
0
 /// <summary>
 /// How many credit points worth of subjects still need to be taken before this plan is valid?
 /// </summary>
 public int RemainingCreditPoints()
 {
     if (!SelectedCourses.Any())
     {
         return(int.MaxValue);
     }
     return(SelectedCourses.First().CreditPoints() - SelectedSubjects.Sum(subject => subject.CreditPoints()));
 }
Beispiel #2
0
 /// <summary>
 /// Remove content from the study plan
 /// </summary>
 /// <param name="content">A subject or course that is being removed from the plan</param>
 public void RemoveContent(Content content)
 {
     if (content is Subject)
     {
         SelectedSubjects.Remove(content as Subject);
     }
     else
     {
         SelectedCourses.Remove(content as Course);
     }
     RefreshBannedSubjectsList();
     RefreshRelations();
     Order();
 }
Beispiel #3
0
 /// <summary>
 /// Add content(s) to this study plan
 /// </summary>
 /// <param name="contents">A list of subjects or courses that need to be added</param>
 public void AddContents(IEnumerable <Content> contents)
 {
     contents = contents.Except(SelectedSubjects);
     if (!contents.Any())
     {
         return;
     }
     foreach (Content content in contents)
     {
         if (content is Subject)
         {
             SelectedSubjects.Add(content as Subject);
         }
         else
         {
             SelectedCourses.Add(content as Course);
         }
     }
     RefreshBannedSubjectsList();
     RefreshRelations();
     Order();
 }
Beispiel #4
0
        /// <summary>
        /// Removes a course from this schedule.
        /// </summary>
        /// <param name="courseId"></param>
        public void RemoveCourse(string courseId)
        {
            var course = SelectedCourses.FirstOrDefault(selectedCourse => selectedCourse.CourseId == courseId);

            RemoveCourse(course);
        }
Beispiel #5
0
 /// <summary>
 /// Removes a course from this schedule.
 /// </summary>
 /// <param name="selectedCourse"></param>
 public void RemoveCourse(SelectedCourse selectedCourse)
 {
     SelectedCourses.Remove(selectedCourse);
 }
Beispiel #6
0
 /// <summary>
 /// Adds courses to this schedule.
 /// </summary>
 /// <param name="selectedCourse"></param>
 public void AddCourses(ICollection <SelectedCourse> selectedCourse)
 {
     SelectedCourses.AddRange(selectedCourse);
 }