Пример #1
0
        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 - - - - -");
        }
Пример #2
0
 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);
     }
 }
Пример #3
0
 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);
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
        // 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();
            }
            ;
        }