void BLanguageFilterClick(object sender, EventArgs e) { DefaultTranslateProfile pf = defaultProfile; DefaultProfileLanguagesForm form = new DefaultProfileLanguagesForm(pf); if (form.ShowDialog(this) == DialogResult.OK) { SubjectCollection subjects = pf.GetSupportedSubjects(); SubjectCollection subjectsToDelete = new SubjectCollection(); foreach (string subject in pf.Subjects) { if (!subjects.Contains(subject)) { subjectsToDelete.Add(subject); } } foreach (string subject in subjectsToDelete) { pf.Subjects.Remove(subject); } LanguagePairCollection toDelete = new LanguagePairCollection(); foreach (LanguagePair lp in pf.History) { if (pf.DisabledSourceLanguages.Contains(lp.From) || pf.DisabledTargetLanguages.Contains(lp.To)) { toDelete.Add(lp); } } foreach (LanguagePair lp in toDelete) { pf.History.Remove(lp); } } form.Dispose(); changed = true; }
protected override Entity OnAdd() { var newItem = new Subject(); using (var frm = new frmSubject_Add()) { frm.ItemData = newItem; if (frm.ShowDialog() != DialogResult.OK) { return(null); } } App.LogAction("Subject", "Created Subject : " + newItem.SubjectCode); ItemDataCollection.Add(newItem); return(newItem); }
void AFilterLanguagesExecute(object sender, EventArgs e) { DefaultTranslateProfile pf = currentProfile as DefaultTranslateProfile; if(pf == null) return; pf.DisabledLanguagesAlreadySet = true; DefaultProfileLanguagesForm form = new DefaultProfileLanguagesForm(pf); if(form.ShowDialog(this) == DialogResult.OK) { SubjectCollection subjects = pf.GetSupportedSubjects(); SubjectCollection subjectsToDelete = new SubjectCollection(); foreach(string subject in pf.Subjects) { if(!subjects.Contains(subject)) subjectsToDelete.Add(subject); } foreach(string subject in subjectsToDelete) pf.Subjects.Remove(subject); LanguagePairCollection toDelete = new LanguagePairCollection(); foreach(LanguagePair lp in pf.History) { if(pf.DisabledSourceLanguages.Contains(lp.From) || pf.DisabledTargetLanguages.Contains(lp.To)) { toDelete.Add(lp); } } foreach(LanguagePair lp in toDelete) pf.History.Remove(lp); languageSelector.Profile = currentProfile; } form.Dispose(); }
private void ProcessScoreList(int semesters, List <string> printEntries) { //統計有成績的學期 if (semesters <= 0) { semesters = int.MaxValue; } List <int> semesterlist = new List <int>(); foreach (SemesterSubjectScoreInfo info in _student.SemesterSubjectScoreList) { if (info.Detail.GetAttribute("不需評分") == "是") { continue; } if (!semesterlist.Contains((info.GradeYear - 1) * 2 + info.Semester)) { semesterlist.Add((info.GradeYear - 1) * 2 + info.Semester); } } foreach (SemesterEntryScoreInfo info in _student.SemesterEntryScoreList) { if (!semesterlist.Contains((info.GradeYear - 1) * 2 + info.Semester)) { semesterlist.Add((info.GradeYear - 1) * 2 + info.Semester); } } semesterlist.Sort(); foreach (SemesterSubjectScoreInfo info in _student.SemesterSubjectScoreList) { if (info.Detail.GetAttribute("不需評分") == "是") { continue; } //超過統計學期當沒看到 if (semesterlist.Count > semesters && (info.GradeYear - 1) * 2 + info.Semester > semesterlist[semesters - 1]) { continue; } if (!_subjects.ContainsKey(info.Subject)) { SubjectInfo new_info = new SubjectInfo(info.Subject); _subjects.Add(info.Subject, new_info); new_info.AddSemsScore(info.GradeYear, info.Semester, SelectScore(info)); } else { _subjects[info.Subject].AddSemsScore(info.GradeYear, info.Semester, SelectScore(info)); } } foreach (SemesterEntryScoreInfo info in _student.SemesterEntryScoreList) { //超過統計學期當沒看到 if (semesterlist.Count > semesters && (info.GradeYear - 1) * 2 + info.Semester > semesterlist[semesters - 1]) { continue; } //不是要列印的分項當沒看到 if (!printEntries.Contains(info.Entry)) { continue; } if (!_entries.ContainsKey(info.Entry)) { EntryInfo new_info = new EntryInfo(info.Entry); _entries.Add(info.Entry, new_info); new_info.AddSemsScore(info.GradeYear, info.Semester, info.Score); } else { _entries[info.Entry].AddSemsScore(info.GradeYear, info.Semester, info.Score); } } }
void BLanguageFilterClick(object sender, EventArgs e) { DefaultTranslateProfile pf = defaultProfile; DefaultProfileLanguagesForm form = new DefaultProfileLanguagesForm(pf); if(form.ShowDialog(this) == DialogResult.OK) { SubjectCollection subjects = pf.GetSupportedSubjects(); SubjectCollection subjectsToDelete = new SubjectCollection(); foreach(string subject in pf.Subjects) { if(!subjects.Contains(subject)) subjectsToDelete.Add(subject); } foreach(string subject in subjectsToDelete) pf.Subjects.Remove(subject); LanguagePairCollection toDelete = new LanguagePairCollection(); foreach(LanguagePair lp in pf.History) { if(pf.DisabledSourceLanguages.Contains(lp.From) || pf.DisabledTargetLanguages.Contains(lp.To)) { toDelete.Add(lp); } } foreach(LanguagePair lp in toDelete) pf.History.Remove(lp); } form.Dispose(); changed = true; }
void LbSubjectsItemCheck(object sender, ItemCheckEventArgs e) { if (loadingSubjects) { return; } if (e.Index == 0) { try { ignoreServicesLoading = true; loadingSubjects = true; LockUpdate(true); if (e.NewValue == CheckState.Checked) { //all subjects.Clear(); subjects.AddRange(supportedSubjects); for (int i = 1; i < lbSubjects.Items.Count; i++) { lbSubjects.SetItemCheckState(i, e.NewValue); } } else if (e.NewValue == CheckState.Unchecked) { subjects.Clear(); subjects.Add((lbSubjects.Items[1] as SubjectContainer).Subject); lbSubjects.SetItemCheckState(1, CheckState.Checked); for (int i = 2; i < lbSubjects.Items.Count; i++) { lbSubjects.SetItemCheckState(i, e.NewValue); } } SetLanguages(profile.GetLanguagePairs()); LanguagePairCollection to_delete = new LanguagePairCollection(); int index; foreach (LanguagePair lp in history) { index = Languages.BinarySearch(lp); if (index < 0) { to_delete.Add(lp); } } foreach (LanguagePair lp in to_delete) { history.Remove(lp); } LoadHistory(); } finally { LockUpdate(false); ignoreServicesLoading = false; loadingSubjects = false; serviceItemsSettings = null; //reset LoadServices(false); } if (SubjectsChanged != null) { SubjectsChanged(this, new EventArgs()); } return; } SubjectContainer sc = (SubjectContainer)lbSubjects.Items[e.Index]; if (e.NewValue == CheckState.Checked) { subjects.Add(sc.Subject); } else if (e.NewValue == CheckState.Unchecked) { if (subjects.Count == 1) { int new_idx = e.Index; new_idx++; if (new_idx >= lbSubjects.Items.Count) { new_idx = 1; } lbSubjects.SetItemChecked(new_idx, true); } subjects.Remove(sc.Subject); } try { ignoreServicesLoading = true; SetLanguages(profile.GetLanguagePairs()); LanguagePairCollection to_delete = new LanguagePairCollection(); int index; foreach (LanguagePair lp in history) { index = Languages.BinarySearch(lp); if (index < 0) { to_delete.Add(lp); } } foreach (LanguagePair lp in to_delete) { history.Remove(lp); } LoadHistory(); } finally { ignoreServicesLoading = false; serviceItemsSettings = null; //reset LoadServices(false); } if (SubjectsChanged != null) { SubjectsChanged(this, new EventArgs()); } }
protected internal void AddSupportedSubject(string subject) { supportedSubjects.Add(subject); }