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); 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(); }
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.Search(); }
void getBase(OperatorEnum opratorEnum, MixedAlgoRuleEnum timeRule) { base.OpratorEnum = opratorEnum; this._timeRule = timeRule; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); //this.MaxTips = $"(1-{CommonDataManager.Hours})"; if (timeRule == MixedAlgoRuleEnum.TeachersMaxGapsPerDay) { this.Teachers = new List <UITeacher>() { new UITeacher { ID = string.Empty, Name = "所有教师" } }; this.SelectTeacher = this.Teachers.First(); } else { var cl = base.GetClCase(base.LocalID); this.Teachers = cl.Teachers.Select(t => { return(new UITeacher() { ID = t.ID, Name = t.Name }); })?.ToList(); } this.SelectTeacher = this.Teachers.FirstOrDefault(); }
void getBase(OperatorEnum opratorEnum, MixedAlgoRuleEnum timeRule) { base.OpratorEnum = opratorEnum; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); var cl = base.GetClCase(base.LocalID); this.Teachers = cl.Teachers.Select(t => { return(new UITeacher() { ID = t.ID, Name = t.Name }); })?.ToList(); this.SelectTeacher = this.Teachers.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); if (first.Position != XYKernel.OS.Common.Enums.Position.AB && first.Position != XYKernel.OS.Common.Enums.Position.PB && first.Position != XYKernel.OS.Common.Enums.Position.Noon) { g.ToList().ForEach(gg => { if (gg.DayPeriod.Day == DayOfWeek.Monday) { week.Monday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Tuesday) { week.Tuesday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Wednesday) { week.Wednesday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Thursday) { week.Thursday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Friday) { week.Friday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Saturday) { week.Saturday.IsChecked = gg.IsSelected; } else if (gg.DayPeriod.Day == DayOfWeek.Sunday) { week.Sunday.IsChecked = gg.IsSelected; } }); } results.Add(week); } } this.Periods = results; }
public HostView(MixedAlgoRuleEnum ruleEnum) : this() { this.Title = $"高级-{ruleEnum.GetLocalDescription()}"; if (ruleEnum == MixedAlgoRuleEnum.ClassHourRequiredStartingTime) { FillContainer(new RequiredStartingTimeView()); } else if (ruleEnum == MixedAlgoRuleEnum.ClassHourRequiredStartingTimes || ruleEnum == MixedAlgoRuleEnum.ClassHourRequiredTimes) { FillContainer(new ClassHourRequiredTimes(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.ClassHoursNotOverlap) { FillContainer(new HoursNotOverlapView()); } else if (ruleEnum == MixedAlgoRuleEnum.ClassHoursMaxConcurrencyInSelectedTime || ruleEnum == MixedAlgoRuleEnum.ClassHoursOccupyMaxTimeFromSelection) { FillContainer(new ClassHoursTimesValue(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.ClassHoursRequiredStartingTimes || ruleEnum == MixedAlgoRuleEnum.ClassHoursRequiredTimes) { FillContainer(new ClassHoursRequiredTimes(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.ClassHoursSameStarting || ruleEnum == MixedAlgoRuleEnum.ClassHoursSameStartingHour || ruleEnum == MixedAlgoRuleEnum.ClassHoursSameStartingTime) { FillContainer(new HoursSameStartingView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.MaxDaysBetweenClassHours || ruleEnum == MixedAlgoRuleEnum.MinDaysBetweenClassHours) { FillContainer(new BetweenClassHoursView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.ThreeClassHoursGrouped || ruleEnum == MixedAlgoRuleEnum.TwoClassHoursContinuous || ruleEnum == MixedAlgoRuleEnum.TwoClassHoursGrouped || ruleEnum == MixedAlgoRuleEnum.TwoClassHoursOrdered) { FillContainer(new MultipyClassHoursView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.TeacherMaxDaysPerWeek || ruleEnum == MixedAlgoRuleEnum.TeachersMaxDaysPerWeek) { FillContainer(new Algo.Teacher.MaxDaysPerWeekView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.TeacherMaxGapsPerDay || ruleEnum == MixedAlgoRuleEnum.TeachersMaxGapsPerDay) { FillContainer(new Algo.Teacher.MaxGapsPerDayView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.TeacherMaxHoursDaily || ruleEnum == MixedAlgoRuleEnum.TeachersMaxHoursDaily) { FillContainer(new Algo.Teacher.MaxHoursDailyView(ruleEnum)); } else if (ruleEnum == MixedAlgoRuleEnum.TeacherNotAvailableTimes) { FillContainer(new NotAvailableTimesView()); } }