Example #1
0
        public virtual IClassActivity RemoveLast()
        {
            IClassActivity classActivity = CurrentCourseActivities.RemoveLast();

            TotalWeight -= classActivity.Weight();
            return(classActivity);
        }
Example #2
0
        public override bool Add(IClassActivity classActivity)
        {
            if (classActivity != null && !ScheduleTimes.AddAlIfNoneOverlap(classActivity.Times))
            {
                return(false);
            }

            return(base.Add(classActivity));
        }
Example #3
0
        public override IClassActivity RemoveLast()
        {
            IClassActivity classActivity = base.RemoveLast();

            if (classActivity != null)
            {
                ScheduleTimes.RemoveAll(classActivity.Times);
            }
            return(classActivity);
        }
Example #4
0
        private bool CalculateSetup_NextClassActivity
        (
            ImmutableListEnumerator <Course> courses,
            CourseGroup group,
            ImmutableListEnumerator <ClassActivitiesInfo> classActivitiesOfKindEnumerator,
            IClassActivity classActivity
        )
        {
            bool added   = CurrentScheduleBuilder.AddClassActivity(classActivity);
            bool success = CalculateSetup_NextKindOfClassActivities(courses, group, classActivitiesOfKindEnumerator);

            CurrentScheduleBuilder.RemoveLastClassActivity();
            return(added && success);
        }
Example #5
0
        public override bool Add(IClassActivity classActivity)
        {
            if (classActivity != null)
            {
                if (!ScheduleTimes.AddAlIfNoneOverlap(classActivity.Times))
                {
                    return(false);
                }

                if (!HasLaunchBreak())
                {
                    ScheduleTimes.RemoveAll(classActivity.Times);
                    return(false);
                }
            }

            return(base.Add(classActivity));
        }
        public CourseGroup(IClassActivity lecture, IEnumerable <IClassActivity> practicalClasses, IEnumerable <IClassActivity> labs)
        {
            if (lecture is null)
            {
                throw new ArgumentNullException(nameof(lecture));
            }
            if (practicalClasses is null)
            {
                throw new ArgumentNullException(nameof(practicalClasses));
            }
            if (labs is null)
            {
                throw new ArgumentNullException(nameof(labs));
            }

            Lecture          = lecture;
            PracticalClasses = practicalClasses;
            Labs             = labs;
        }
        public bool AddClassActivity(IClassActivity classActivity)
        {
            bool success;

            if (IsValid)
            {
                success = CurrentCourseActivities.Add(classActivity);
            }
            else
            {
                success = false;
            }

            if (!success)
            {
                InvalidScope++;
            }

            return(success);
        }
Example #8
0
 public static int Weight(this IClassActivity classActivity)
 {
     return(classActivity?.Weight ?? 0);
 }
Example #9
0
 public virtual CourseSchedulePlacement BuildCoursePlacement(Course course, CourseGroup group)
 {
     IClassActivity lab           = CurrentCourseActivities[^ 1];
Example #10
0
 public virtual bool Add(IClassActivity classActivity)
 {
     CurrentCourseActivities.Add(classActivity);
     TotalWeight += classActivity.Weight();
     return(true);
 }