public void BindData()
        {
            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);

            int no = 0;

            rule.ClassHourRequiredStartingTime.ForEach(t =>
            {
                UIClassHourRule ui = new UIClassHourRule();
                ui.NO       = ++no;
                ui.IsActive = t.Active;
                ui.Weight   = t.Weight;
                ui.FirstID  = t.ID;
                ui.Period   = t.Period;
                ui.Day      = t.Period.Day;
                this.Rules.Add(ui);
            });
        }
        void bind(UIClassHourRule receive)
        {
            this.UID             = receive.UID;
            this.Weight          = receive.Weight;
            this.IsActive        = receive.IsActive;
            this.ClassHourString = receive.FirstID.ToString();

            var cp = CommonDataManager.GetCPCase(base.LocalID);

            this.SelectClass = cp.Classes.FirstOrDefault(c => c.ID.Equals(receive.ClassID));

            this.SelectCourse = cp.Courses.FirstOrDefault(c => c.ID.Equals(receive.CourseID));

            this.SelectTeacher = cp.Teachers.FirstOrDefault(t => t.ID.Equals(receive.TeacherID));

            // 先将所有状态更改为False.
            this.Periods.ForEach(p =>
            {
                p.SetStatus(false);
            });

            // 绑定状态
            receive.Periods.ForEach(t =>
            {
                var period = this.Periods.First(p => p.Period.Period == t.Period);
                if (period != null)
                {
                    if (t.Day == DayOfWeek.Monday)
                    {
                        period.Monday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Tuesday)
                    {
                        period.Tuesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Wednesday)
                    {
                        period.Wednesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Thursday)
                    {
                        period.Thursday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Friday)
                    {
                        period.Friday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Saturday)
                    {
                        period.Saturday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Sunday)
                    {
                        period.Sunday.IsChecked = true;
                    }
                }
            });
        }
        void bind(UIClassHourRule receive)
        {
            this.UID                  = receive.UID;
            this.Weight               = receive.Weight;
            this.IsActive             = receive.IsActive;
            this.MaxConcurrencyNumber = receive.MaxConcurrency;
            this.MaxOccupyNumber      = receive.MaxOccupy;

            if (receive.ClassHours != null)
            {
                this.TargetHours = new ObservableCollection <UIClassHour>(receive.ClassHours);
            }

            // 先将所有状态更改为False.
            this.Periods.ForEach(p =>
            {
                p.SetStatus(false);
            });

            // 绑定状态
            receive.Periods.ForEach(t =>
            {
                var period = this.Periods.First(p => p.Period.Period == t.Period);
                if (period != null)
                {
                    if (t.Day == DayOfWeek.Monday)
                    {
                        period.Monday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Tuesday)
                    {
                        period.Tuesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Wednesday)
                    {
                        period.Wednesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Thursday)
                    {
                        period.Thursday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Friday)
                    {
                        period.Friday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Saturday)
                    {
                        period.Saturday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Sunday)
                    {
                        period.Sunday.IsChecked = true;
                    }
                }
            });
        }
        void bind(UIClassHourRule receive)
        {
            base.UID = receive.UID;

            this.Weight          = receive.Weight;
            this.IsActive        = receive.IsActive;
            this.Day             = this.Days.First(k => k.Value == receive.Day).Key;
            this.SelectPeriod    = receive.Period;
            this.ClassHourString = receive.FirstID.ToString();
        }
示例#5
0
        void bind(UIClassHourRule receive)
        {
            this.Weight   = receive.Weight;
            this.IsActive = receive.IsActive;
            this.UID      = receive.UID;

            if (receive.ClassHours != null)
            {
                this.TargetHours = new ObservableCollection <UIClassHour>(receive.ClassHours);
            }
        }
        void deleteCommand(object obj)
        {
            UIClassHourRule rule = obj as UIClassHourRule;

            var result = this.ShowDialog("提示信息", "确认删除?", CustomControl.Enums.DialogSettingType.OkAndCancel, CustomControl.Enums.DialogType.Warning);

            if (result == CustomControl.Enums.DialogResultType.OK)
            {
                this.Rules.Remove(rule);
            }
        }
        public void BindData(AdministrativeAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);

            int no = 0;

            if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursSameStarting)
            {
                rule.ClassHoursSameStartingDays.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cp.GetClassHours(t.ID);

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursSameStartingHour)
            {
                rule.ClassHoursSameStartingHours?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cp.GetClassHours(t.ID);
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursSameStartingTime)
            {
                rule.ClassHoursSameStartingTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cp.GetClassHours(t.Id);
                    this.Rules.Add(ui);
                });
            }
        }
        void bind(UIClassHourRule receive)
        {
            this.UID             = receive.UID;
            this.Weight          = receive.Weight;
            this.IsActive        = receive.IsActive;
            this.ClassHourString = receive.FirstID.ToString();

            // 先将所有状态更改为False.
            this.Periods.ForEach(p =>
            {
                p.SetStatus(false);
            });

            // 绑定状态
            receive.Periods.ForEach(t =>
            {
                var period = this.Periods.First(p => p.Period.Period == t.Period);
                if (period != null)
                {
                    if (t.Day == DayOfWeek.Monday)
                    {
                        period.Monday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Tuesday)
                    {
                        period.Tuesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Wednesday)
                    {
                        period.Wednesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Thursday)
                    {
                        period.Thursday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Friday)
                    {
                        period.Friday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Saturday)
                    {
                        period.Saturday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Sunday)
                    {
                        period.Sunday.IsChecked = true;
                    }
                }
            });
        }
示例#9
0
        void bind(UIClassHourRule receive)
        {
            this.Weight   = receive.Weight;
            this.IsActive = receive.IsActive;
            base.UID      = receive.UID;

            this.SelectFirstHour  = this.FirstHours?.FirstOrDefault(f => f.ID.Equals(receive.FirstID));
            this.SelectSecondHour = this.FirstHours?.FirstOrDefault(f => f.ID.Equals(receive.SecondID));

            if (_timeRule == AdministrativeAlgoRuleEnum.ThreeClassHoursGrouped)
            {
                this.SelectThirdHour = this.FirstHours?.FirstOrDefault(f => f.ID.Equals(receive.ThirdID));
            }
        }
        public void BindData(MixedAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = base.GetCLAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

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

            int no = 0;

            if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.MinDaysBetweenClassHours)
            {
                rule.MinDaysBetweenClassHours.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.UID             = t.UID;
                    ui.NO                 = ++no;
                    ui.IsActive           = t.Active;
                    ui.Weight             = t.Weight;
                    ui.MinDays            = t.MinDays;
                    ui.ClassHours         = cl.GetClassHours(t.ID);
                    ui.MaxAndMinDayString = $" 最小天数:{t.MinDays}";
                    this.Rules.Add(ui);
                });

                this.ShowMaxDay = false;
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.MaxDaysBetweenClassHours)
            {
                rule.MaxDaysBetweenClassHours?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.UID             = t.UID;
                    ui.NO                 = ++no;
                    ui.IsActive           = t.Active;
                    ui.Weight             = t.Weight;
                    ui.MaxDays            = t.MaxDays;
                    ui.ClassHours         = cl.GetClassHours(t.ID);
                    ui.MaxAndMinDayString = $" 最大天数:{t.MaxDays}";
                    this.Rules.Add(ui);
                });

                this.ShowMinDay = false;
            }
        }
        public void BindData(MixedAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = base.GetCLAlgoRule(base.LocalID);

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

            int no = 0;

            if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursSameStarting)
            {
                rule.ClassHoursSameStartingDays.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cl.GetClassHours(t.ID);

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursSameStartingHour)
            {
                rule.ClassHoursSameStartingHours?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cl.GetClassHours(t.ID);
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursSameStartingTime)
            {
                rule.ClassHoursSameStartingTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.IsActive   = t.Active;
                    ui.Weight     = t.Weight;
                    ui.ClassHours = cl.GetClassHours(t.ID);
                    this.Rules.Add(ui);
                });
            }
        }
        public void BindData(AdministrativeAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);
            int no = 0;

            if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursRequiredStartingTimes)
            {
                rule.ClassHoursRequiredStartingTimes.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO        = ++no;
                    ui.UID       = t.UID;
                    ui.IsActive  = t.Active;
                    ui.Weight    = t.Weight;
                    ui.ClassID   = t.ClassID;
                    ui.CourseID  = t.CourseID;
                    ui.TeacherID = t.TeacherID;
                    ui.Periods   = t.Times;
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursRequiredTimes)
            {
                rule.ClassHoursRequiredTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO        = ++no;
                    ui.UID       = t.UID;
                    ui.IsActive  = t.Active;
                    ui.Weight    = t.Weight;
                    ui.ClassID   = t.ClassID;
                    ui.CourseID  = t.CourseID;
                    ui.TeacherID = t.TeacherID;
                    ui.Periods   = t.Times;
                    this.Rules.Add(ui);
                });
            }
        }
        public void BindData(MixedAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = base.GetCLAlgoRule(base.LocalID);

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

            int no = 0;

            if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursRequiredStartingTimes)
            {
                rule.ClassHoursRequiredStartingTimes.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO        = ++no;
                    ui.UID       = t.UID;
                    ui.IsActive  = t.Active;
                    ui.Weight    = t.Weight;
                    ui.ClassID   = t.ClassID;
                    ui.CourseID  = t.CourseID;
                    ui.TeacherID = t.TeacherID;
                    ui.TagID     = t.TagID;
                    ui.Periods   = t.Times;
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursRequiredTimes)
            {
                rule.ClassHoursRequiredTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO        = ++no;
                    ui.UID       = t.UID;
                    ui.IsActive  = t.Active;
                    ui.Weight    = t.Weight;
                    ui.ClassID   = t.ClassID;
                    ui.CourseID  = t.CourseID;
                    ui.TeacherID = t.TeacherID;
                    ui.TagID     = t.TagID;

                    ui.Periods = t.Times;
                    this.Rules.Add(ui);
                });
            }
        }
示例#14
0
        public void BindData()
        {
            var rule = base.GetCLAlgoRule(base.LocalID);

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

            int no = 0;

            rule.ClassHoursNotOverlaps.ForEach(t =>
            {
                UIClassHourRule ui = new UIClassHourRule();
                ui.NO         = ++no;
                ui.IsActive   = t.Active;
                ui.Weight     = t.Weight;
                ui.ClassHours = cl.GetClassHours(t.ID);

                this.Rules.Add(ui);
            });
        }
        void modifyCommand(object obj)
        {
            UIClassHourRule rule = obj as UIClassHourRule;

            CreateSameStarting createWin = new CreateSameStarting(Models.Enums.OperatorEnum.Modify, this.GetCurrentRuleEnum(), rule);

            createWin.Closed += (s, arg) =>
            {
                var modify = createWin.Modify;
                if (createWin.DialogResult.Value)
                {
                    rule.IsActive   = modify.IsActive;
                    rule.Weight     = modify.Weight;
                    rule.ClassHours = modify.ClassHours;
                    rule.RaiseChanged();
                }
            };
            createWin.ShowDialog();
        }
        public void BindData(AdministrativeAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);
            int no = 0;

            if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursMaxConcurrencyInSelectedTime)
            {
                rule.ClassHoursMaxConcurrencyInSelectedTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO             = ++no;
                    ui.UID            = t.UID;
                    ui.IsActive       = t.Active;
                    ui.ClassHours     = cp.GetClassHours(t.ID);
                    ui.MaxConcurrency = t.MaxConcurrencyNumber;
                    ui.Periods        = t.Times;
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ClassHoursOccupyMaxTimeFromSelection)
            {
                rule.ClassHoursOccupyMaxTimeFromSelections?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.UID        = t.UID;
                    ui.IsActive   = t.Active;
                    ui.ClassHours = cp.GetClassHours(t.ID);
                    ui.MaxOccupy  = t.MaxOccupyNumber;
                    ui.Periods    = t.Times;
                    this.Rules.Add(ui);
                });
            }
        }
示例#17
0
        void modifyCommand(object obj)
        {
            UIClassHourRule rule = obj as UIClassHourRule;

            CreateNoOverlap createWin = new CreateNoOverlap(Models.Enums.OperatorEnum.Modify, Models.Enums.AdministrativeAlgoRuleEnum.ClassHoursNotOverlap, rule);

            createWin.Closed += (s, arg) =>
            {
                var modify = createWin.Modify;
                if (createWin.DialogResult.Value)
                {
                    rule.IsActive   = modify.IsActive;
                    rule.Weight     = modify.Weight;
                    rule.ClassHours = modify.ClassHours;
                    rule.RaiseChanged();
                }
            };
            createWin.ShowDialog();
        }
示例#18
0
        void modifyCommand(object obj)
        {
            UIClassHourRule rule = obj as UIClassHourRule;

            CreateClassHourRequiredTimes createWin = new CreateClassHourRequiredTimes(Models.Enums.OperatorEnum.Modify, this.GetCurrentRuleEnum(), rule);

            createWin.Closed += (s, arg) =>
            {
                var modify = createWin.Modify;
                if (createWin.DialogResult.Value)
                {
                    rule.IsActive = modify.IsActive;
                    rule.Weight   = modify.Weight;
                    rule.Periods  = modify.Periods;
                    rule.FirstID  = modify.FirstID;
                    rule.RaiseChanged();
                }
            };
            createWin.ShowDialog();
        }
        public void BindData()
        {
            var rule = base.GetCLAlgoRule(base.LocalID);

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

            int no = 0;

            rule.ClassHourRequiredStartingTime.ForEach(t =>
            {
                UIClassHourRule ui = new UIClassHourRule();
                ui.NO       = ++no;
                ui.IsActive = t.Active;
                ui.Weight   = t.Weight;
                ui.FirstID  = t.ID;
                ui.Period   = t.Period;
                ui.Day      = t.Period.Day;
                this.Rules.Add(ui);
            });
        }
        void modifyCommand(object obj)
        {
            UIClassHourRule rule = obj as UIClassHourRule;

            CreateRequiredStartingTime createWin = new CreateRequiredStartingTime(Models.Enums.OperatorEnum.Modify, Models.Enums.AdministrativeAlgoRuleEnum.ClassHourRequiredStartingTime, rule);

            createWin.Closed += (s, arg) =>
            {
                var modify = createWin.Modify;
                if (createWin.DialogResult.Value)
                {
                    rule.IsActive = modify.IsActive;
                    rule.Weight   = modify.Weight;
                    rule.FirstID  = modify.FirstID;
                    rule.Period   = modify.Period;
                    rule.Day      = modify.Day;
                    rule.RaiseChanged();
                }
            };
            createWin.ShowDialog();
        }
示例#21
0
        public void BindData(MixedAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = base.GetCLAlgoRule(base.LocalID);

            var cl = base.GetClCase(base.LocalID);
            int no = 0;

            if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursMaxConcurrencyInSelectedTime)
            {
                rule.ClassHoursMaxConcurrencyInSelectedTimes?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO             = ++no;
                    ui.UID            = t.UID;
                    ui.IsActive       = t.Active;
                    ui.ClassHours     = cl.GetClassHours(t.ID);
                    ui.MaxConcurrency = t.MaxConcurrencyNumber;
                    ui.Periods        = t.Times;
                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ClassHoursOccupyMaxTimeFromSelection)
            {
                rule.ClassHoursOccupyMaxTimeFromSelections?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO         = ++no;
                    ui.UID        = t.UID;
                    ui.IsActive   = t.Active;
                    ui.ClassHours = cl.GetClassHours(t.ID);
                    ui.MaxOccupy  = t.MaxOccupyNumber;
                    ui.Periods    = t.Times;
                    this.Rules.Add(ui);
                });
            }
        }
示例#22
0
        public void BindData()
        {
            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);

            int no = 0;

            rule.ClassHoursNotOverlaps.ForEach(t =>
            {
                UIClassHourRule ui = new UIClassHourRule();
                ui.NO         = ++no;
                ui.IsActive   = t.Active;
                ui.Weight     = t.Weight;
                ui.ClassHours = cp.GetClassHours(t.ID);

                this.Rules.Add(ui);
            });
        }
示例#23
0
        public void BindData(AdministrativeAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = CommonDataManager.GetAminAlgoRule(base.LocalID);

            if (rule == null)
            {
                return;
            }

            var cp = CommonDataManager.GetCPCase(base.LocalID);

            int no = 0;

            if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.ThreeClassHoursGrouped)
            {
                rule.ThreeClassHoursGrouped.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.ThirdID  = t.ThirdID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID, t.ThirdID
                    };
                    ui.ClassHours = cp.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.TwoClassHoursContinuous)
            {
                rule.TwoClassHoursContinuous?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cp.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.TwoClassHoursGrouped)
            {
                rule.TwoClassHoursGrouped?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cp.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == AdministrativeAlgoRuleEnum.TwoClassHoursOrdered)
            {
                rule.TwoClassHoursOrdered?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cp.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
        }
 public CreateClassHourRequiredTimes(OperatorEnum operatorEnum, MixedAlgoRuleEnum ruleType, UIClassHourRule rule) : this()
 {
     VM?.SetValue(operatorEnum, ruleType, rule);
 }
示例#25
0
 public CreateRequiredStartingTime(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UIClassHourRule rule) : this()
 {
     VM?.SetValue(operatorEnum, ruleType, rule);
 }
        void bind(UIClassHourRule receive)
        {
            this.UID             = receive.UID;
            this.Weight          = receive.Weight;
            this.IsActive        = receive.IsActive;
            this.ClassHourString = receive.FirstID.ToString();

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

            // 选中走班课程
            this.SelectMixedCourse = cl.Courses.FirstOrDefault(c => c.ID.Equals(receive.CourseID));

            // 选中走班教师
            this.SelectMixedTeacher = cl.Teachers.FirstOrDefault(c => c.ID.Equals(receive.TeacherID));

            // 获取班级信息
            var firstClass = FilterHelper.GetClassById(receive.ClassID);

            this.SelectMixedClass = firstClass;

            // 选择标签
            this.SelectMixedTag = cl.Tags.FirstOrDefault(t => t.ID.Equals(receive.TagID));

            // 先将所有状态更改为False.
            this.Periods.ForEach(p =>
            {
                p.SetStatus(false);
            });

            // 绑定状态
            receive.Periods.ForEach(t =>
            {
                var period = this.Periods.First(p => p.Period.Period == t.Period);
                if (period != null)
                {
                    if (t.Day == DayOfWeek.Monday)
                    {
                        period.Monday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Tuesday)
                    {
                        period.Tuesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Wednesday)
                    {
                        period.Wednesday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Thursday)
                    {
                        period.Thursday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Friday)
                    {
                        period.Friday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Saturday)
                    {
                        period.Saturday.IsChecked = true;
                    }
                    else if (t.Day == DayOfWeek.Sunday)
                    {
                        period.Sunday.IsChecked = true;
                    }
                }
            });
        }
示例#27
0
        public void BindData(MixedAlgoRuleEnum ruleEnum)
        {
            this.SetCurrentRuleEnum(ruleEnum);

            var rule = base.GetCLAlgoRule(base.LocalID);

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

            int no = 0;

            if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.ThreeClassHoursGrouped)
            {
                rule.ThreeClassHoursGrouped.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.ThirdID  = t.ThirdID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID, t.ThirdID
                    };
                    ui.ClassHours = cl.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.TwoClassHoursContinuous)
            {
                rule.TwoClassHoursContinuous?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cl.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.TwoClassHoursGrouped)
            {
                rule.TwoClassHoursGrouped?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cl.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
            else if (this.GetCurrentRuleEnum() == MixedAlgoRuleEnum.TwoClassHoursOrdered)
            {
                rule.TwoClassHoursOrdered?.ForEach(t =>
                {
                    UIClassHourRule ui = new UIClassHourRule();
                    ui.NO       = ++no;
                    ui.FirstID  = t.FirstID;
                    ui.SecondID = t.SecondID;
                    ui.IsActive = t.Active;
                    ui.Weight   = t.Weight;

                    var hours = new List <int>()
                    {
                        t.FirstID, t.SecondID
                    };
                    ui.ClassHours = cl.GetClassHours(hours.ToArray());

                    this.Rules.Add(ui);
                });
            }
        }
示例#28
0
        public void SetValue(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule, UIClassHourRule rule)
        {
            this.getBase(opratorEnum, timeRule);

            this.bind(rule);
        }
 public CreateBetweenClassHours(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UIClassHourRule rule) : this()
 {
     VM?.SetValue(operatorEnum, ruleType, rule);
 }
 public CreateSameStarting(OperatorEnum operatorEnum, MixedAlgoRuleEnum ruleType, UIClassHourRule rule) : this()
 {
     VM?.SetValue(operatorEnum, ruleType, rule);
 }