/// <summary> /// 加载课程信息 /// </summary> /// <returns></returns> private async Task LoadCourses() { Courses.Clear(); JObject json = await NetHelper.Send(new { Command = Admin_Courses }); if (!json[OK].Value <bool>()) { TaskDialog.ShowError("加载课程列表失败:" + json[Message].Value <string>()); return; } JArray array = json[Data] as JArray; foreach (dynamic item in array) { UICourse course = new UICourse(); course.Id = item.Id; course.Name = item.Name; course.Teacher = item.Teacher; course.TeacherId = item.TeacherId; course.Year = item.Year; course.Term = item.Term; Courses.Add(course); } }
private void C_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { UICourse course = sender as UICourse; if (e.PropertyName.Equals(nameof(course.IsChecked))) { // 1.先清除 var classes = this.Classes.Where(c => c.CourseID == course.ID)?.ToList(); if (classes != null) { classes.ForEach(c => { this.Classes.Remove(c); }); } // 2.再添加 if (course.IsChecked) { var cl = CommonDataManager.GetCLCase(base.LocalID); var results = cl.GetClasses(course.ID); results?.ForEach(r => { r.IsChecked = true; this.Classes.Add(r); }); } } }
/// <summary> /// 获取课程 /// </summary> /// <param name="cp"></param> /// <param name="teacherIDs"></param> /// <returns></returns> public static List <UICourse> GetCourses(this CPCase cp, string teacherID) { List <UICourse> courses = new List <UICourse>(); var classHours = (from ch in cp.ClassHours where ch.TeacherIDs.Contains(teacherID) select ch); var groups = classHours?.GroupBy(g => g.CourseID); if (groups != null) { foreach (var g in groups) { var course = cp.Courses.FirstOrDefault(ch => ch.ID.Equals(g.Key)); if (course != null) { UICourse ui = new UICourse() { ID = course.ID, Name = course.Name }; courses.Add(ui); } } } return(courses); }
void setColorCommand(object obj) { UICourse model = obj as UICourse; var local = CommonDataManager.GetLocalCase(base.LocalID); ColorDialog colorDialog = new ColorDialog(); if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { SolidBrush sb = new SolidBrush(colorDialog.Color); SolidColorBrush solidColorBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(sb.Color.A, sb.Color.R, sb.Color.G, sb.Color.B)); var colorString = solidColorBrush.ToString(); model.ColorString = colorString; var has = local.CourseColors.ContainsKey(model.ID); if (!has) { local.CourseColors.Add(model.ID, colorString); } else { local.CourseColors[model.ID] = colorString; } // 保存方案 local.Serialize(); } }
public void Initilize() { this.Courses.Clear(); var cl = base.GetClCase(base.LocalID); var local = CommonDataManager.GetLocalCase(base.LocalID); cl.Courses.ForEach(c => { UICourse course = new UICourse() { ID = c.ID, Name = c.Name, Levels = new ObservableCollection <UILevel>() }; var has = local.CourseColors.ContainsKey(c.ID); if (has) { course.ColorString = local.CourseColors[c.ID]; } if (c.Levels != null) { // 查找空层 if (c.Levels.Any(l => l.ID.Equals("0"))) { // 空层 course.DefaultLevel = new UILevel() { CourseID = course.ID, ID = "0", Name = string.Empty, Lessons = 5 }; } else { var levels = c.Levels.Select(l => { return(new UILevel() { CourseID = c.ID, ID = l.ID, Name = l.Name, Lessons = l.Lessons, }); }); if (levels != null) { course.Levels = new ObservableCollection <UILevel>(levels); } } } this.Courses.Add(course); }); }
void Receive(UICourse course) { foreach (var c in this.Classes) { var removeItem = c.Courses?.FirstOrDefault(cc => cc.CourseID.Equals(course.ID)); if (removeItem != null) { c.Courses.Remove(removeItem); } } }
void createLevelCommand(object obj) { UICourse course = obj as UICourse; CreateLevelWindow levelWin = new CreateLevelWindow(); levelWin.Closed += (s, arg) => { if (levelWin.DialogResult.Value) { var has = course.Levels.Any(c => { return(levelWin.Levels.Any(cc => cc.Equals(c.Name))); }); if (has) { var result = this.ShowDialog("提示信息", "存在相同层,是否继续添加", CustomControl.Enums.DialogSettingType.OkAndCancel, CustomControl.Enums.DialogType.Warning); if (result != CustomControl.Enums.DialogResultType.OK) { return; } } if (course.DefaultLevel != null) { // 删除默认层 course.DefaultLevel = null; } foreach (var l in levelWin.Levels) { var levelID = course.Levels.Count == 0 ? 0 : course.Levels.Max(m => Convert.ToInt64(m.ID)); var theSame = course.Levels.Any(ll => ll.Name.Equals(l)); if (!theSame) { course.Levels.Add(new UILevel { ID = (levelID + 1).ToString(), CourseID = course.ID, Name = l, Lessons = 5 }); } } } }; levelWin.ShowDialog(); }
void deleteCommand(object obj) { var result = this.ShowDialog("提示信息", "确认删除?", CustomControl.Enums.DialogSettingType.OkAndCancel, CustomControl.Enums.DialogType.Warning); if (result == CustomControl.Enums.DialogResultType.OK) { var local = CommonDataManager.GetLocalCase(base.LocalID); UICourse uiCourse = obj as UICourse; this.Courses.Remove(uiCourse); _toDeleteCourses.Add(uiCourse); this.RaisePropertyChanged(() => ShowCreateLevel); } }
void getTechers(UICourse course) { // 获取方案 var cl = base.GetClCase(base.LocalID); // 获取教师 var teachers = cl.GetTeachers(course.ID); // 1.1 当前教师数据源 this._courseTeachers = teachers; // 1.2 师傅 this.Masters = teachers; // 1.3 徒弟 this.Apprentices = teachers; }
void getTechers(UICourse course) { // 获取方案 var cp = CommonDataManager.GetCPCase(base.LocalID); // 获取教师 var teachers = cp.GetTeachers(course.ID); // 1.1 当前教师数据源 this._courseTeachers = teachers; // 1.2 师傅 this.Masters = teachers; // 1.3 徒弟 this.Apprentices = teachers; }
bool CourseContains(object contain) { UICourse course = contain as UICourse; if (string.IsNullOrEmpty(this.SearchCourse)) { return(true); } if (course.Name.IndexOf(this.SearchCourse) != -1) { return(true); } else { return(false); } }
public void Initilize() { var cp = CommonDataManager.GetCPCase(base.LocalID); var local = CommonDataManager.GetLocalCase(base.LocalID); if (cp != null) { _cpcase = cp; if (cp.Teachers != null) { List <UICourse> courses = new List <UICourse>(); cp.Courses.ForEach(t => { UICourse course = new UICourse() { ID = t.ID, Name = t.Name, }; var has = local.CourseColors.ContainsKey(t.ID); if (has) { course.ColorString = local.CourseColors[t.ID]; } courses.Add(course); }); this.Courses = new ObservableCollection <UICourse>(courses); _courseCollectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(this.Courses); _courseCollectionView.Filter = CourseContains; } } else { _cpcase = new CPCase(); } }
private void Oc_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { UICourse course = sender as UICourse; if (e.PropertyName.Equals(nameof(course.IsChecked))) { if (course.IsChecked) { // 注册事件 this.DualCourses.ForEach(dc => { dc.PropertyChanged -= Dc_PropertyChanged; }); var selectDual = this.DualCourses.FirstOrDefault(f => f.IsChecked); this.DualCourses = _sourceCourses.Where(sc => sc.Lessons == course.Lessons && !sc.ID.Equals(course.ID))?.Select(t => t.GetInstance())?.ToList(); // 注册事件 this.DualCourses.ForEach(dc => { dc.PropertyChanged += Dc_PropertyChanged; }); if (selectDual != null) { var find = this.DualCourses.FirstOrDefault(oc => oc.ID.Equals(selectDual.ID)); if (find != null) { find.PropertyChanged -= Dc_PropertyChanged; find.IsChecked = true; find.PropertyChanged += Dc_PropertyChanged; } } } } }
void changeCourse(UICourse course) { var cp = CommonDataManager.GetCPCase(base.LocalID); this.Classes = cp.GetClasses(course.ID); }
void lessonChanged(UICourse course) { course.IsChecked = true; }
void createCommand() { CreateCourseWindow window = new CreateCourseWindow(); window.Closed += (s, arg) => { if (window.DialogResult.Value) { var has = this.Courses.Any(c => { return(window.Courses.Any(cc => cc.Equals(c.Name))); }); if (has) { var result = this.ShowDialog("提示信息", "存在相同科目,是否继续添加", CustomControl.Enums.DialogSettingType.OkAndCancel, CustomControl.Enums.DialogType.Warning); if (result != CustomControl.Enums.DialogResultType.OK) { return; } } var local = CommonDataManager.GetLocalCase(base.LocalID); window.Courses.ForEach(c => { var any = this.Courses.Any(cc => cc.Name.Equals(c)); if (!any) { var courseID = this.Courses.Count == 0 ? 0 : this.Courses.Max(cc => Convert.ToInt64(cc.ID)); var course = new UICourse { ID = (courseID + 1).ToString(), Name = c, DefaultLevel = new UILevel() { ID = "0", Name = string.Empty, Lessons = 5 }, ColorString = "#000000" }; this.Courses.Add(course); var hasColor = local.CourseColors.ContainsKey(course.ID); if (!hasColor) { local.CourseColors.Add(course.ID, "#000000"); } else { local.CourseColors[course.ID] = "#000000"; } } }); this.RaisePropertyChanged(() => ShowCreateLevel); } }; window.ShowDialog(); }