void getBase(OperatorEnum opratorEnum, MixedAlgoRuleEnum timeRule)
        {
            base.OpratorEnum = opratorEnum;
            this._timeRule   = timeRule;
            this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}";
            this.RaisePropertyChanged(() => ShowRead);
            this.RaisePropertyChanged(() => ShowEdit);

            var cl = base.GetClCase(base.LocalID);

            this.Sources         = cl.GetClassHours(cl.ClassHours?.Select(ch => ch.ID)?.ToArray());
            this.SelectClassHour = ClassHours.FirstOrDefault();

            var results = new List <UITwoStatusWeek>();
            var groups  = cl.Positions.GroupBy(p => p.DayPeriod.Period);

            if (groups != null)
            {
                foreach (var g in groups)
                {
                    var             first = g.First();
                    UITwoStatusWeek week  = new UITwoStatusWeek()
                    {
                        Period       = first.DayPeriod,
                        PositionType = first.Position,
                    };
                    week.SetStatus(true);
                    results.Add(week);
                }
            }
            this.Periods = results;

            this.Search();
        }
        public override void Search()
        {
            var source = this.Sources?.ToList();

            if (!string.IsNullOrEmpty(base.SelectTeacher?.ID))
            {
                source = source.Where(s => s.Teachers.Any(t => t.ID.Equals(base.SelectTeacher?.ID)))?.ToList();
            }

            if (!string.IsNullOrEmpty(base.SelectCourse?.ID))
            {
                source = source.Where(s => s.CourseID.Equals(base.SelectCourse?.ID))?.ToList();
            }

            if (!string.IsNullOrEmpty(base.SelectClass?.ID))
            {
                source = source.Where(s => s.ClassID.Equals(base.SelectClass?.ID))?.ToList();
            }

            ClassHours           = source;
            this.SelectClassHour = ClassHours?.FirstOrDefault();
        }
        public override void Search()
        {
            var source = this.Sources?.ToList();

            if (!string.IsNullOrEmpty(base.SelectMixedTeacher?.ID))
            {
                source = source.Where(s => s.Teachers.Any(t => t.ID.Equals(base.SelectMixedTeacher?.ID)))?.ToList();
            }

            if (!string.IsNullOrEmpty(base.SelectMixedCourse?.ID))
            {
                source = source.Where(s => s.CourseID.Equals(base.SelectMixedCourse?.ID))?.ToList();
            }

            if (!string.IsNullOrEmpty(base.SelectMixedClass?.ID))
            {
                source = source.Where(s => s.ClassID.Equals(base.SelectMixedClass?.ID))?.ToList();
            }

            if (!string.IsNullOrEmpty(base.SelectMixedTag?.ID))
            {
                source = source.Where(s =>
                {
                    if (s.Tags == null)
                    {
                        return(false);
                    }
                    else
                    {
                        return(s.Tags.Contains(base.SelectMixedTag?.ID));
                    }
                })?.ToList();
            }

            this.ClassHours      = source;
            this.SelectClassHour = ClassHours?.FirstOrDefault();
        }
        // GET: Class
        public ActionResult Update(int ClassID)
        {
            ClassHours model = classHoursRepository.GetByID(ClassID);

            return(View(model));
        }
 internal void AddClassHoursInstance(ClassHours classHours)
 {
     _timings.Add(classHours);
 }
 public RegularInfoStub(DateTimeOffset contextDate, ClassHours sessionHours, AttendanceStub attendanceStub, Appointment appt)
     : base(contextDate, sessionHours.Parent, appt)
 {
     _sessionHours = sessionHours;
     _attendanceInfo = attendanceStub;
 }