/// <summary> /// 根据课程选择教师 /// </summary> /// <param name="cp"></param> /// <param name="courseID">科目ID</param> /// <returns>教师</returns> public static List <UITeacher> GetTeachers(this CLCase cp, string courseID) { List <UITeacher> teachers = new List <UITeacher>(); var classhours = (from c in cp.ClassHours from tid in c.TeacherIDs from t in cp.Teachers where tid.Equals(t.ID) select new { c.CourseID, t }); var results = classhours.Where(c => c.CourseID.Equals(courseID)); if (results != null) { var groups = results.GroupBy(r => r.t); foreach (var g in groups) { UITeacher uiTeacher = new UITeacher() { ID = g.Key.ID, Name = g.Key.Name }; teachers.Add(uiTeacher); } } return(teachers); }
public void Initilize() { var cp = CommonDataManager.GetCPCase(base.LocalID); if (cp != null) { _cpcase = cp; if (cp.Teachers != null) { List <UITeacher> teachers = new List <UITeacher>(); cp.Teachers.ForEach(t => { UITeacher teacher = new UITeacher() { ID = t.ID, Name = t.Name, }; teachers.Add(teacher); }); this.Teachers = new ObservableCollection <UITeacher>(teachers); _teacherCollectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(this.Teachers); _teacherCollectionView.Filter = TeacherContains; } } else { _cpcase = new CPCase(); } }
void bind(UITeacherRule receive) { this.UID = receive.UID; this.Weight = receive.Weight; this.IsActive = receive.IsActive; this.SelectTeacher = this.Teachers.FirstOrDefault(t => t.ID.Equals(receive.TeacherID)); this.MaxGaps = receive.Value; }
private void Dg_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { UITeacher ampm = e.Row.DataContext as UITeacher; if (ampm != null) { ampm.IsChecked = true; } }
void ReceiveTeacher(UITeacher teacher) { foreach (var c in this.Classes) { if (c.Courses != null) { foreach (var course in c.Courses) { course.Teachers?.RemoveAll(t => t.ID.Equals(teacher.ID)); course.RaiseChanged(); } } } }
public void Initilize() { Messenger.Default.Register <HostView>(this, save); this.Comments = CommonDataManager.GetAdminRuleComments(AdministrativeRuleEnum.TeacherAmPmNoContinues); #region 加载教师 var cp = CommonDataManager.GetCPCase(base.LocalID); List <UITeacher> teachers = new List <UITeacher>(); cp.Teachers.ForEach(t => { UITeacher teacher = new UITeacher() { ID = t.ID, Name = t.Name, }; teachers.Add(teacher); }); this.Teachers = teachers; _teacherCollectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(this.Teachers); _teacherCollectionView.Filter = TeacherContains; #endregion #region 绑定 var rule = CommonDataManager.GetAminRule(base.LocalID); if (rule != null) { rule.AmPmNoContinues.ForEach(rc => { var teacher = this.Teachers.FirstOrDefault(t => t.ID.Equals(rc.TeacherID)); if (teacher != null) { teacher.IsChecked = true; teacher.Weight = (WeightTypeEnum)rc.Weight; } }); } #endregion }
bool TeacherContains(object contain) { UITeacher teacher = contain as UITeacher; if (string.IsNullOrEmpty(this.SearchTeacher)) { return(true); } if (teacher.Name.IndexOf(this.SearchTeacher) != -1) { return(true); } else { return(false); } }
void bind(UITeacherRule receive) { this.UID = receive.UID; this.Weight = receive.Weight; this.IsActive = receive.IsActive; this.SelectTeacher = this.Teachers.FirstOrDefault(t => t.ID.Equals(receive.TeacherID)); receive.ForbidTimes.ForEach(t => { var period = this.Periods.First(p => p.Period.Period == t.Period); if (period != null) { if (t.Day == DayOfWeek.Monday) { period.Monday.IsChecked = false; } else if (t.Day == DayOfWeek.Tuesday) { period.Tuesday.IsChecked = false; } else if (t.Day == DayOfWeek.Wednesday) { period.Wednesday.IsChecked = false; } else if (t.Day == DayOfWeek.Thursday) { period.Thursday.IsChecked = false; } else if (t.Day == DayOfWeek.Friday) { period.Friday.IsChecked = false; } else if (t.Day == DayOfWeek.Saturday) { period.Saturday.IsChecked = false; } else if (t.Day == DayOfWeek.Sunday) { period.Sunday.IsChecked = false; } } }); }
public static List <UITeacher> GetTeachersByTeacherIDs(this ResultModel r, List <string> teacherIDs) { List <UITeacher> teachers = new List <UITeacher>(); teacherIDs?.ForEach(t => { var teacher = r.Teachers.FirstOrDefault(tt => tt.ID.Equals(t)); if (teacher != null) { UITeacher newTeacher = new UITeacher() { ID = teacher.ID, Name = teacher.Name }; teachers.Add(newTeacher); } }); return(teachers); }
public void Initilize() { var cl = base.GetClCase(base.LocalID); List <UITeacher> teachers = new List <UITeacher>(); cl.Teachers.ForEach(t => { UITeacher teacher = new UITeacher() { ID = t.ID, Name = t.Name, }; teachers.Add(teacher); }); this.Teachers = new ObservableCollection <UITeacher>(teachers); _teacherCollectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(this.Teachers); _teacherCollectionView.Filter = TeacherContains; }
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, 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); if (timeRule == AdministrativeAlgoRuleEnum.TeachersMaxDaysPerWeek) { 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 static List <UITeacher> GetTeachers(this ResultModel r) { List <UITeacher> teachers = new List <UITeacher>(); var details = (from c in r.ResultClasses from rc in c.ResultDetails select new { rc.ClassHourId, rc.Teachers, }); r.Teachers?.ToList()?.ForEach(t => { UITeacher teacher = new UITeacher(); teacher.ID = t.ID; teacher.Name = t.Name; teacher.ClassHourIDs = details.Where(d => d.Teachers.Contains(t.ID))?.Select(s => s.ClassHourId)?.ToList(); teachers.Add(teacher); }); return(teachers); }
void bindData(UITeacher teacher) { this.Teachers.ForEach(t => { t.IsChecked = false; }); teacher.IsChecked = true; this.Periods.ForEach(p => { p.ClearStatus(); }); var rule = CommonDataManager.GetAminRule(base.LocalID); if (rule != null) { var teacherTime = rule.TeacherTimes.FirstOrDefault(t => t.TeacherID.Equals(teacher.ID)); if (teacherTime != null) { teacherTime.ForbidTimes.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; period.Monday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Tuesday) { period.Tuesday.IsChecked = true; period.Tuesday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Wednesday) { period.Wednesday.IsChecked = true; period.Wednesday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Thursday) { period.Thursday.IsChecked = true; period.Thursday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Friday) { period.Friday.IsChecked = true; period.Friday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Saturday) { period.Saturday.IsChecked = true; period.Saturday.IsMouseLeft = true; } else if (t.Day == DayOfWeek.Sunday) { period.Sunday.IsChecked = true; period.Sunday.IsMouseLeft = true; } } }); teacherTime.MustTimes.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 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; }
void modifyCommand(object obj) { UITeacher teacher = obj as UITeacher; this.bindData(teacher); }
void weightChanged(UITeacher course) { course.IsChecked = true; }