public TaskDone ConvertTaskDone(taskdone t) { TaskDone taskDone = new TaskDone { TaskDoneID = t.taskDoneID, IsDone = t.isDone, Student_studentID = t.student_studentID, Task_taskID = t.task_taskID, Student = new Student(), Task = new Tasks() }; return(taskDone); }
private void FillTaskDone() { List <task> alltasksList = taskDbSet.GetAll(); List <student> studentsList = studDbSet.GetAll(); studentsList.ForEach(student => { studDbSet.GetLabsOfStudent(student.studentID).ForEach(lab => { alltasksList.Where(s => s.lab_labID == lab.labID).ToList().ForEach(task => { taskdone taskDone = new taskdone { isDone = 1, student_studentID = student.studentID, task_taskID = task.taskID }; taskDoneDbSet.AddOne(taskDone); }); }); }); }
private void FillTaskDone() { List <task> alltasksList = taskDbSet.GetAll(); List <student> studentsList = studDbSet.GetAll(); studentsList.ForEach(student => { studDbSet.GetLabsOfStudent(student.studentID).ForEach(lab => { alltasksList.Where(s => s.lab_labID == lab.labID).ToList().ForEach(task => { taskdone taskDone = new taskdone { isDone = 1, student_studentID = student.studentID, task_taskID = task.taskID }; taskDoneDbSet.AddOne(taskDone); Console.WriteLine($"Student {student.firstName} has Lab { lab.labID} and tasks {task.taskNumber}"); }); }); }); Console.WriteLine("- - - - - - - Finished - - - - -"); }
// 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(); } ; }