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;
}
}