ScheduleWorks.UI.AddOrEditLessonForm.checkFieldsAndAddOrEditInTheDB C# (CSharp) Method

checkFieldsAndAddOrEditInTheDB() private method

private checkFieldsAndAddOrEditInTheDB ( ) : void
return void
        private void checkFieldsAndAddOrEditInTheDB()
        {
            long teacherID;
            int subjectID;
            long classID;
            int classroomID;
            HourLenght hourLenght = HourLenght.NoMatter;

            Teacher teacher;
            Subject subject;
            Class class1;
            Classroom classroom;

            #region Reading fields from the form
            try
            {
                long.TryParse(dropDownListTeachers.SelectedValue.ToString(), out teacherID);
                int.TryParse(dropDownListSubjects.SelectedValue.ToString(), out subjectID);
                long.TryParse(dropDownListClasses.SelectedValue.ToString(), out classID);
                int.TryParse(dropDownListWantedRoom.SelectedValue.ToString(), out classroomID);
            }
            catch
            {
                RadMessageBox.Show("Моля, въведете коректни данни!", "Грешка!");
                toCloseTheForm = false;
                return;
            }

                switch (int.Parse(dropDownListLessonLenght.SelectedItem.Value.ToString()))
                {
                    case 1:
                        hourLenght = HourLenght.SingleHour;
                        break;
                    case 2:
                        hourLenght = HourLenght.DoubleHour;
                        break;
                    case 3:
                        hourLenght = HourLenght.NoMatter;
                        break;
                }

                var t1 = from t in mDBManager.Teachers
                         where t.ID == teacherID
                         select t;
                teacher = t1.FirstOrDefault();

                var s1 = from s in mDBManager.Subjects
                         where s.ID == subjectID
                         select s;
                subject = s1.FirstOrDefault();

                var c1 = from c in mDBManager.Classes
                         where c.ID == classID
                         select c;
                class1 = c1.FirstOrDefault();

                var cl1 = from cl in mDBManager.Classrooms
                          where cl.ID == classroomID
                          select cl;
                classroom = cl1.FirstOrDefault();

            #endregion

            try
            {
                if (mFormState == FormState.AddingNew)
                {
                    bool exThrown = false;
                    try{
                        if (mLesson.AlternativeClassrooms.Count != 0)
                        {
                            mDBManager.Lessons.Add(new Curriculum(teacher, subject, class1, classroom, mLesson.AlternativeClassrooms, hourLenght, (int)spinEditorHoursPerWeek.Value));
                        }
                    }
                    catch{
                        exThrown = true;
                    }
                    if (exThrown)
                    {
                        mDBManager.Lessons.Add(new Curriculum(teacher, subject, class1, classroom, hourLenght, (int)spinEditorHoursPerWeek.Value));
                    }
                }

                else if(mFormState == FormState.Editing)
                {
                    int i = 0;
                    foreach (Curriculum l in mDBManager.Lessons)
                    {
                        if (l.ID == mID)
                        {
                            mDBManager.Lessons[i].Teacher = teacher;
                            mDBManager.Lessons[i].Subject = subject;
                            mDBManager.Lessons[i].Class = class1;
                            mDBManager.Lessons[i].DesiredClassroom = classroom;
                            mDBManager.Lessons[i].HourLenght = hourLenght;
                            mDBManager.Lessons[i].HoursPerWeek = (int)spinEditorHoursPerWeek.Value;
                            mDBManager.Lessons[i].AlternativeClassrooms = mLesson.AlternativeClassrooms;
                        }
                        i++;
                    }
                }

            }
            catch(Exception e)
            {
                RadMessageBox.Show("Моля, въведете информация за всички полета! " + e.Message, "Грешка");
                toCloseTheForm = false;
            }
        }