Beispiel #1
0
 public List <present> GetPresentsOfLabdate(int id)
 {
     using (se02team06 context = new se02team06()) {
         DbSet <labdate> dbsetLabdate = context.Set <labdate>();
         labdate         labdateTmp   = dbsetLabdate.Find(id);
         context.Entry(labdateTmp).Collection(s => s.presents).Load();
         context.SaveChanges();
         return(labdateTmp.presents.ToList());
     }
 }
Beispiel #2
0
 public labdate AddLabdate(labdate labdate, int id)
 {
     using (se02team06 context = new se02team06()) {
         DbSet <labdate> dbsetLabdate = context.Set <labdate>();
         labdate.lab_labID = id;
         labdate tmpLabdate = dbsetLabdate.Add(labdate);
         context.SaveChanges();
         return(tmpLabdate);
     }
 }
Beispiel #3
0
 public lab GetLabOfLabdate(int id)
 {
     using (se02team06 context = new se02team06()) {
         DbSet <labdate> dbsetLabdate = context.Set <labdate>();
         labdate         labdateTmp   = dbsetLabdate.Find(id);
         context.Entry(labdateTmp).Reference(s => s.lab).Load();
         context.SaveChanges();
         return(labdateTmp.lab);
     }
 }
Beispiel #4
0
        public Labdate ConvertLabdate(labdate l)
        {
            Labdate labdate = new Labdate {
                LabdateID = l.labdateID,
                Date      = l.date,
                Lab_labID = l.lab_labID,
                Lab       = new Lab(),
                Presents  = new List <Present>()
            };

            return(labdate);
        }
Beispiel #5
0
        private void fillLabdates()
        {
            List <lab> labsList = labsDbset.GetAll();

            labsList.ForEach(labs => {
                DateTime tmpDate = new DateTime(2020, 05, 15, 15, 00, 00);
                labDateCount.ForEach(labDate => {
                    labdate tmpLabdate = new labdate {
                        date = tmpDate
                    };
                    labsDbset.AddLabdate(tmpLabdate, labsList.IndexOf(labs) + 1);
                    tmpDate = tmpDate.AddDays(7);
                });
            });
        }
Beispiel #6
0
        private void fillLabdates()
        {
            List <lab> labsList = labsDbset.GetAll();

            labsList.ForEach(labs => {
                DateTime tmpDate = new DateTime(2020, 05, 15, 15, 00, 00);
                labDateCount.ForEach(labDate => {
                    labdate tmpLabdate = new labdate {
                        date = tmpDate
                    };
                    labsDbset.AddLabdate(tmpLabdate, labsList.IndexOf(labs) + 1);
                    tmpDate = tmpDate.AddDays(7);
                    Console.WriteLine($"fill Lab {labsList.IndexOf(labs) + 1} with labdate {tmpDate}");
                });
            });
            Console.WriteLine("- - - - - - - Finished - - - - -");
        }
Beispiel #7
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();
            }
            ;
        }