void getBase(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule) { base.OpratorEnum = opratorEnum; this._timeRule = timeRule; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); this.RaisePropertyChanged(() => ShowMaxNumber); this.RaisePropertyChanged(() => ShowSameMaxNumber); var cp = CommonDataManager.GetCPCase(base.LocalID); this.Sources = cp.GetClassHours(cp.ClassHours.Select(ch => ch.ID)?.ToArray()); var results = new List <UITwoStatusWeek>(); var groups = cp.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, AdministrativeAlgoRuleEnum timeRule) { this._timeRule = timeRule; base.OpratorEnum = opratorEnum; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); this.Days = new Dictionary <string, DayOfWeek>() { { "星期一", DayOfWeek.Monday }, { "星期二", DayOfWeek.Tuesday }, { "星期三", DayOfWeek.Wednesday }, { "星期四", DayOfWeek.Thursday }, { "星期五", DayOfWeek.Friday }, { "星期六", DayOfWeek.Saturday }, { "星期日", DayOfWeek.Sunday }, }; this.Day = "星期一"; var cp = CommonDataManager.GetCPCase(base.LocalID); this.Periods = cp.GetDayPeriods(); this.SelectPeriod = this.Periods.FirstOrDefault(); Sources = cp.GetClassHours(cp.ClassHours?.Select(c => c.ID)?.ToArray()); this.Search(); }
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); }); } }
public ClassHoursTimesValue(AdministrativeAlgoRuleEnum ruleEnum) : this() { if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursMaxConcurrencyInSelectedTime) { dc_MaxConcurrency.Visibility = Visibility.Visible; } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursOccupyMaxTimeFromSelection) { dc_Occupy.Visibility = Visibility.Visible; } (this.DataContext as ClassHoursTimesValueModel).BindData(ruleEnum); }
void getBase(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule) { base.OpratorEnum = opratorEnum; this._timeRule = timeRule; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); var cp = CommonDataManager.GetCPCase(base.LocalID); this.Sources = cp.GetClassHours(cp.ClassHours?.Select(ch => ch.ID)?.ToArray()); this.Search(); }
/// <summary> /// 当前显示界面:规则或高级 /// </summary> public void SetCurrentRuleEnum(AdministrativeAlgoRuleEnum value) { currentRuleEnum = value; this.Comments = CommonDataManager.GetAdminAlgoComments(value); if (currentRuleEnum == AdministrativeAlgoRuleEnum.MinDaysBetweenClassHours) { this.ShowMaxDay = false; } else if (currentRuleEnum == AdministrativeAlgoRuleEnum.MaxDaysBetweenClassHours) { this.ShowMinDay = false; } }
public void BindData(AdministrativeAlgoRuleEnum ruleEnum) { this.CurrentRuleEnum = ruleEnum; this.Comments = CommonDataManager.GetAdminAlgoComments(ruleEnum); var rule = CommonDataManager.GetAminAlgoRule(base.LocalID); if (rule == null) { return; } var cp = CommonDataManager.GetCPCase(base.LocalID); int no = 0; if (this.CurrentRuleEnum == AdministrativeAlgoRuleEnum.TeacherMaxHoursDaily) { rule.TeacherMaxHoursDailys.ForEach(t => { var teacher = cp.Teachers.FirstOrDefault(f => f.ID.Equals(t.TeacherID)); UITeacherRule ui = new UITeacherRule(); ui.NO = ++no; ui.TeacherID = teacher?.ID; ui.Name = teacher?.Name; ui.Weight = t.Weight; ui.IsActive = t.Active; ui.Value = t.MaxHours; this.Rules.Add(ui); }); } else { rule.TeachersMaxHoursDailys?.ForEach(t => { UITeacherRule ui = new UITeacherRule(); ui.NO = ++no; ui.Name = "所有教师"; ui.Weight = t.Weight; ui.IsActive = t.Active; ui.Value = t.MaxHours; 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(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); }); } }
void getBase(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule) { base.OpratorEnum = opratorEnum; this.TitleString = $"{ opratorEnum.GetLocalDescription()}-{timeRule.GetLocalDescription()}"; this.RaisePropertyChanged(() => ShowRead); this.RaisePropertyChanged(() => ShowEdit); var cp = CommonDataManager.GetCPCase(base.LocalID); this.Teachers = cp.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 = cp.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; }
void getBase(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum 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 == AdministrativeAlgoRuleEnum.TeachersMaxGapsPerDay) { this.Teachers = new List <UITeacher>() { new UITeacher { ID = string.Empty, Name = "所有教师" } }; this.SelectTeacher = this.Teachers.First(); } else { var cp = CommonDataManager.GetCPCase(base.LocalID); this.Teachers = cp.Teachers.Select(t => { return(new UITeacher() { ID = t.ID, Name = t.Name }); })?.ToList(); } this.SelectTeacher = this.Teachers.FirstOrDefault(); }
public void SetValue(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule) { this.getBase(opratorEnum, timeRule); }
public void SetValue(OperatorEnum opratorEnum, AdministrativeAlgoRuleEnum timeRule, UIClassHourRule rule) { this.getBase(opratorEnum, timeRule); this.bind(rule); }
public HostView(AdministrativeAlgoRuleEnum ruleEnum) : this() { this.Title = $"高级-{ruleEnum.GetLocalDescription()}"; if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHourRequiredStartingTime) { FillContainer(new RequiredStartingTimeView()); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHourRequiredStartingTimes || ruleEnum == AdministrativeAlgoRuleEnum.ClassHourRequiredTimes) { FillContainer(new ClassHourRequiredTimes(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursNotOverlap) { FillContainer(new HoursNotOverlapView()); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursMaxConcurrencyInSelectedTime || ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursOccupyMaxTimeFromSelection) { FillContainer(new ClassHoursTimesValue(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursRequiredStartingTimes || ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursRequiredTimes) { FillContainer(new ClassHoursRequiredTimes(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursSameStarting || ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursSameStartingHour || ruleEnum == AdministrativeAlgoRuleEnum.ClassHoursSameStartingTime) { FillContainer(new HoursSameStartingView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.MaxDaysBetweenClassHours || ruleEnum == AdministrativeAlgoRuleEnum.MinDaysBetweenClassHours) { FillContainer(new BetweenClassHoursView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.ThreeClassHoursGrouped || ruleEnum == AdministrativeAlgoRuleEnum.TwoClassHoursContinuous || ruleEnum == AdministrativeAlgoRuleEnum.TwoClassHoursGrouped || ruleEnum == AdministrativeAlgoRuleEnum.TwoClassHoursOrdered) { FillContainer(new MultipyClassHoursView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.TeacherMaxDaysPerWeek || ruleEnum == AdministrativeAlgoRuleEnum.TeachersMaxDaysPerWeek) { FillContainer(new Algo.Teacher.MaxDaysPerWeekView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.TeacherMaxGapsPerDay || ruleEnum == AdministrativeAlgoRuleEnum.TeachersMaxGapsPerDay) { FillContainer(new Algo.Teacher.MaxGapsPerDayView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.TeacherMaxHoursDaily || ruleEnum == AdministrativeAlgoRuleEnum.TeachersMaxHoursDaily) { FillContainer(new Algo.Teacher.MaxHoursDailyView(ruleEnum)); } else if (ruleEnum == AdministrativeAlgoRuleEnum.TeacherNotAvailableTimes) { FillContainer(new NotAvailableTimesView()); } }
public MultipyClassHoursView(AdministrativeAlgoRuleEnum ruleEnum) : this() { (this.DataContext as MultipyClassHoursViewModel).BindData(ruleEnum); }
public string GetAdminAlgoComments(AdministrativeAlgoRuleEnum algoEnum) { return(this.AdministrativeAlgoComments[algoEnum]); }
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 CreateBetweenClassHours(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UIClassHourRule rule) : this() { VM?.SetValue(operatorEnum, ruleType, rule); }
/// <summary> /// 当前显示界面:规则或高级 /// </summary> public void SetCurrentRuleEnum(AdministrativeAlgoRuleEnum value) { currentRuleEnum = value; this.Comments = CommonDataManager.GetAdminAlgoComments(value); }
public CreateClassHoursRequiredTimes(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum rule) : this() { VM?.SetValue(operatorEnum, rule); }
public CreateMaxHoursDaily(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UITeacherRule rule) : this() { VM?.SetValue(operatorEnum, ruleType, rule); }
public CreateMaxGapsPerDay(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum rule) : this() { VM?.SetValue(operatorEnum, rule); }
public CreateSameStarting(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum rule) : this() { VM?.SetValue(operatorEnum, rule); }
public MaxDaysPerWeekView(AdministrativeAlgoRuleEnum ruleEnum) : this() { (this.DataContext as MaxDaysPerWeekViewModel).BindData(ruleEnum); }
public MaxHoursDailyView(AdministrativeAlgoRuleEnum ruleEnum) : this() { (this.DataContext as MaxHoursDailyViewModel).BindData(ruleEnum); }
public HoursSameStartingView(AdministrativeAlgoRuleEnum ruleEnum) : this() { (this.DataContext as HoursSameStartingViewModel).BindData(ruleEnum); }
public CreateNoOverlap(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum rule) : this() { VM?.SetValue(operatorEnum, rule); }
public CreateRequiredStartingTime(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UIClassHourRule rule) : this() { VM?.SetValue(operatorEnum, ruleType, rule); }
public ClassHoursRequiredTimes(AdministrativeAlgoRuleEnum ruleEnum) : this() { (this.DataContext as ClassHoursRequiredTimesModel).BindData(ruleEnum); }
public CreateTeacherNoAvaliable(OperatorEnum operatorEnum, AdministrativeAlgoRuleEnum ruleType, UITeacherRule rule) : this() { VM?.SetValue(operatorEnum, ruleType, rule); }