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;
             }
         }
     }
 }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        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;
            }
        }