private void FillPresent() { List <student> studentList = studDbSet.GetAll(); List <labdate> studsLabdatesOfLab = new List <labdate>(); List <labdate> dates = labdatesDbSet.GetAll(); studentList.ForEach(student => { var index = studentList.IndexOf(student); labsDbset.GetLabsOfStudent(student.studentID).ForEach(lab => { studsLabdatesOfLab = dates.Where(l => l.lab_labID == lab.labID).ToList(); }); foreach (var i in studsLabdatesOfLab) { present pre = new present { labdate_labdateID = i.labdateID, student_studentID = studentList[index].studentID, note = "war hier", wasPresent = 0 }; presentDbSet.AddOne(pre); Console.WriteLine($"student {studentList[index].firstName} has Labdate {i.date}"); } }); Console.WriteLine("- - - - - - - Finished - - - - -"); }
public student GetStudentOfPresent(int id) { using (se02team06 context = new se02team06()) { DbSet <present> dbsetPresent = context.Set <present>(); present presentTmp = dbsetPresent.Find(id); context.Entry(presentTmp).Reference(s => s.student).Load(); context.SaveChanges(); return(presentTmp.student); } }
public labdate GetLabdateOfPresent(int id) { using (se02team06 context = new se02team06()) { DbSet <present> dbsetPresent = context.Set <present>(); present presentTmp = dbsetPresent.Find(id); context.Entry(presentTmp).Reference(s => s.labdate).Load(); context.SaveChanges(); return(presentTmp.labdate); } }
public Present ConvertPresent(present p) { Present present = new Present { PresentID = p.presentID, WasPresent = p.wasPresent, Note = p.note, Labdate_labdateID = p.labdate_labdateID, Student_studentID = p.student_studentID, Student = new Student(), Labdate = new Labdate() }; return(present); }
// Update lab object in db with user input private void UpdateLabDetails() { if (SelectedLabNumber != 0 && SelectedStartYear != 0 && SelectedStartMonth != "" && SelectedStartDay != 0 && SelectedLabDuration != 0 && SelectedTaskNumber != 0) { // update lab //how much task in lab int taskCount = 0; if (SelectedLabDuration < SelectedTaskNumber) { OpenError("Zu Viele Aufgaben für die Anzahl der Wochen."); return; } taskCount = SelectedTaskNumber; lab updatedLab = new lab { labID = LabID, course_courseID = CourseID, labNumber = SelectedLabNumber }; dataAccess.LabContext.Update(LabID, updatedLab); //new startDate DateTime newStartDate = new DateTime( SelectedStartYear, CourseDetailViewModel.ConvertMonthToInt(SelectedStartMonth), SelectedStartDay, SelectedStartHour, SelectedStartMinutes, 0); DateTime tmpDate = newStartDate; //Delete Old Labdates List <labdate> oldLabdates = dataAccess.Context.GetLabdatesOfLab(LabID); foreach (var labdate in oldLabdates) { dataAccess.LabDateContext.Remove(labdate.labdateID); } //Create New Labdates for (int i = 0; i < SelectedLabDuration; i++) { //make new labdate labdate labdate = new labdate { date = tmpDate, lab_labID = LabID }; //Each Week tmpDate = tmpDate.AddDays(7); //Add labdate dataAccess.LabDateContext.AddOne(labdate); } var newLabdates = dataAccess.Context.GetLabdatesOfLab(LabID); //delete old tasks List <task> oldTasks = dataAccess.Context.GetTasksOfLab(LabID); foreach (var task in oldTasks) { dataAccess.TaskContext.Remove(task.taskID); } //Create new Tasks for (int i = 0; i < taskCount; i++) { //make new Task task newTask = new task { taskNumber = i + 1, dueDate = newLabdates[i].date, lab_labID = LabID, }; //Add task dataAccess.TaskContext.AddOne(newTask); } var studentInLab = context.GetStudentsOfLab(LabID); var allLabdates = context.GetLabdatesOfLab(LabID); var alltask = context.GetTasksOfLab(LabID); studentInLab.ForEach(student => { alltask.ForEach(task => { taskdone newTask = new taskdone { student_studentID = student.studentID, isDone = 0, task_taskID = task.taskID }; dataAccess.TaskDoneContext.AddOne(newTask); }); allLabdates.ForEach(dates => { present newPresent = new present { note = "", wasPresent = 0, student_studentID = student.studentID, labdate_labdateID = dates.labdateID }; dataAccess.PresentContext.AddOne(newPresent); }); }); //Update courseDetailPage LabDateCount = newLabdates.Count; LabHour = newLabdates.First().date.Hour; LabMinute = newLabdates.First().date.Minute; LabWeekday = newLabdates.First().date.DayOfWeek.ToString(); LabNumber = "Labornummer: " + SelectedLabNumber.ToString();; LabTime = $"{LabWeekday}, {LabHour}:{LabMinute}"; RefreshCourseDetailView(); FillAll(); // Change visibility of lab EditLabViewVisible ^= true; Console.WriteLine(); } ; }