protected void setData() { if (!this.boxFirstName.IsEmptyOrWhiteSpace) { this.TheTeacher.FirstName = this.boxFirstName.Text; } if (!this.boxLastName.IsEmptyOrWhiteSpace) { this.TheTeacher.LastName = this.boxLastName.Text; } if (this.times != null) { for (int i = 0; i < this.TheTeacher.TimeTeachers.Count; i++) { this.TheTeacher.TimeTeachers[i].Active = false; } foreach (UniversityHoldingTime uht in this.times) { if (this.TheTeacher.TimeTeachers.Where(t => t.UniversityHoldingTime.HoldingTimeID == uht.HoldingTimeID).Count() == 0) { TimeTeacher tt = new TimeTeacher(); tt.Teacher = this.TheTeacher; tt.UniversityHoldingTime = taali.UniversityHoldingTimes.Where(t => t.HoldingTimeID == uht.HoldingTimeID).Single(); tt.Active = true; this.TheTeacher.TimeTeachers.Add(tt); } else { this.TheTeacher.TimeTeachers.Where(t => t.UniversityHoldingTime.HoldingTimeID == uht.HoldingTimeID).First().Active = true; } } } if (this.times != null) { for (int i = 0; i < this.TheTeacher.SubjectTeachers.Count; i++) { this.TheTeacher.SubjectTeachers[i].Active = false; } foreach (Subject s in this.subjects) { if (this.TheTeacher.SubjectTeachers.Where(ss => ss.Subject.SubjectID == s.SubjectID).Count() == 0) { SubjectTeacher st = new SubjectTeacher(); st.Teacher = this.TheTeacher; st.Subject = taali.Subjects.Where(ss => ss.SubjectID == s.SubjectID).Single(); st.Active = true; this.TheTeacher.SubjectTeachers.Add(st); } else { this.TheTeacher.SubjectTeachers.Where(ss => ss.Subject.SubjectID == s.SubjectID).First().Active = true; } } } }
private void saveToTimeTable(Group group, Subject subject, Teacher teacher, Class classroom, IEnumerable <UniversityHoldingTime> times) { GroupSubject gropsub = this.groupSubjects.Where(gs => gs.GroupID == group.GroupID && gs.SubjectID == subject.SubjectID).Single(); if (this.timeTable.Where(tt => tt.GroupSubjectID == gropsub.GroupSubjectID).Count() != 0) { return; } foreach (var time in times) { if (this.timeTable.Where(tt => tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.year && tt.GroupSubject.Semester == this.semester && tt.GroupSubject.GroupID == group.GroupID).Count() != 0) { return; } if (this.timeTable.Where(tt => tt.TimeTeacher.TeacherID == teacher.TeacherID && tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.year && tt.GroupSubject.Semester == this.semester).Count() != 0) { return; } if (this.timeTable.Where(tt => tt.ClassID == classroom.ClassID && tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.year && tt.GroupSubject.Semester == this.semester).Count() != 0) { return; } } foreach (var time in times) { TaaliDataDataContext taali = new TaaliDataDataContext(); TimeTeacher timeteach = taali.TimeTeachers.Where(tt => tt.TeacherID == teacher.TeacherID && tt.TimeID == time.HoldingTimeID).Single(); TimeTable table = new TimeTable(); if (classroom.ClassID != 0 && gropsub.GroupSubjectID != 0 && timeteach.TimeTeacherID != 0) { table.Class = classroom; table.GroupSubject = gropsub; table.TimeTeacher = timeteach; this.timeTable.Add(table); } } }
protected override void btnOK_Click(object sender, EventArgs e) { if (!this.boxValidation()) { return; } bool done = false; GroupSubject gropsub = new GroupSubject(); try { if (this.taali.GroupSubjects.Where(gs => gs.GroupID == TheGroup.GroupID && gs.SubjectID == TheSubject.SubjectID && gs.TermYear == this.Year && gs.Semester == this.Semester).Count() == 1) { gropsub = this.taali.GroupSubjects.Where(gs => gs.GroupID == TheGroup.GroupID && gs.SubjectID == TheSubject.SubjectID && gs.TermYear == this.Year && gs.Semester == this.Semester).Single(); } else { gropsub = new GroupSubject(); gropsub.Semester = this.Semester; gropsub.TermYear = this.Year; gropsub.Group = this.taali.Groups.Where(g => g.GroupID == this.TheGroup.GroupID) .Single(); gropsub.Subject = this.taali.Subjects.Where(s => s.SubjectID == this.TheSubject.SubjectID).Single(); this.taali.GroupSubjects.InsertOnSubmit(gropsub); this.taali.SubmitChanges(); done = true; gropsub = this.taali.GroupSubjects.Where(gs => gs.GroupID == TheGroup.GroupID && gs.SubjectID == TheSubject.SubjectID && gs.TermYear == this.Year && gs.Semester == this.Semester).Single(); } if (this.TimeTableCells.Where(tt => tt.GroupSubjectID == gropsub.GroupSubjectID) .Count() != 0) { throw new Exception("این درس در این ترم برای این گروه ارایه شده است."); } foreach (var time in Times) { if (this.TimeTableCells.Where(tt => tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.Year && tt.GroupSubject.Semester == this.Semester && tt.GroupSubject.GroupID == TheGroup.GroupID).Count() != 0) { throw new Exception(string.Format(@"{0}'{1}'{2}", "برای گروه مورد نظر شما در این ساعت ", time.ToString(), "یک در ارایه شده است.")); } if (this.TimeTableCells.Where(tt => tt.TimeTeacher.TeacherID == TheTeacher.TeacherID && tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.Year && tt.GroupSubject.Semester == this.Semester).Count() != 0) { throw new Exception(string.Format(@"{0}'{1}'{2}", "استاد مورد نظر شما در این ساعت ", time.ToString(), "تدریس می کند.")); } if (this.TimeTableCells.Where(tt => tt.ClassID == TheClass.ClassID && tt.TimeTeacher.TimeID == time.HoldingTimeID && tt.GroupSubject.TermYear == this.Year && tt.GroupSubject.Semester == this.Semester).Count() != 0) { throw new Exception(string.Format(@"{0}'{1}'{2}", "کلاس مورد نظر شما در این ساعت ", time.ToString(), "پر می باشد.")); } } foreach (var time in Times) { TaaliDataDataContext taali = new TaaliDataDataContext(); var timteas = taali.TimeTeachers.Where(tt => tt.TeacherID == TheTeacher.TeacherID && tt.TimeID == time.HoldingTimeID); if (timteas.Count() != 1) { string error = "استاد مورد نظر شما دراین ساعت نمی تواند تدریس کند."; throw new Exception(error); } TimeTeacher timeteach = timteas.Single(); TimeTable table = new TimeTable(); if (TheClass.ClassID != 0 && gropsub.GroupSubjectID != 0 && timeteach.TimeTeacherID != 0) { table.Class = this.taali.Classes.Where(c => c.ClassID == this.TheClass.ClassID).Single(); table.GroupSubject = this.taali.GroupSubjects.Where(gs => gs.GroupSubjectID == gropsub.GroupSubjectID).Single(); table.TimeTeacher = this.taali.TimeTeachers.Where(tt => tt.TimeTeacherID == timeteach.TimeTeacherID).Single(); this.TimeTableCells.Add(table); } } this.DialogResult = System.Windows.Forms.DialogResult.OK; } catch (Exception ex) { if (done) { this.taali.GroupSubjects.DeleteAllOnSubmit(this.taali.GroupSubjects .Where(gs => gs.GroupSubjectID == gropsub.GroupSubjectID)); this.taali.SubmitChanges(); } MessageBox.Show(ex.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } }