예제 #1
0
        } //edycja kursu + usuniecie kursanta

        private void CourseRaport()
        {
            RaportIsPrinted += ExportRaport;//sub na event

            while (SelectedCourse == 0)
            {
                Console.WriteLine("Nie wybrales kursu dla ktorego chcesz dodac dzien!\n");
                SelectCourse();
                //SelectedCourse = SelectCourse();
            } //sprawdzam czy zostal wybrany kurs dla ktorego chce wydrukowac raport


            //Przygotowanie danych o kursie
            var course = _courseService.GetCourseById(SelectedCourse);


            Console.WriteLine("---------RAPORT---------\n");
            Console.WriteLine("Nazwa kursu: " + course.CourseTitle + "\n");
            Console.WriteLine("Data rozpoczecia: " + course.DateStart + "\n");
            Console.WriteLine("Prog z pracy domowej: " + course.HomeworkThreshold + "\n");
            Console.WriteLine("Prog z obecnosci: " + course.PresenceThreshold + "\n");


            //Przygotowanie pliku JSON
            RaportDto raportDto = new RaportDto();                  //json

            raportDto.CourseName        = course.CourseTitle;       //json
            raportDto.CourseDateOfStart = course.DateStart;         //json
            raportDto.HomeworkThreshold = course.HomeworkThreshold; //json
            raportDto.PresenceThreshold = course.PresenceThreshold; //json
            raportDto.TextPresence      = "--Obecnosc--";           //json
            raportDto.TextHomework      = "--Praca Domowa--";       //json


            var studentListFromCourse = _courseService.GetStudentListFromDl(SelectedCourse); //pobranie listy studentow uczestniczacych w kursie

            Console.WriteLine("--Obecnosc--\n");
            foreach (var student in studentListFromCourse)
            {
                //Przygotowanie danych o obecnosci
                var courseDayStudent = _courseDayService.GetCourseDayByIds(student.Id, SelectedCourse);                            //Pobranie obecnosci dla studenta z danego kursu
                var parcent          = _raportService.CheckHowManyParcent(courseDayStudent.Allpresence, courseDayStudent.Present); //Przeliczenie wyniku obecnosci na procenty
                var passOrFail       = _raportService.CheckIfResultsIsHigherThanThreshold(parcent, course.PresenceThreshold);      //Sprawdzenie czy wynik jest wyższy od progu zaliczenia

                //Wydruk
                Console.Write(student.Name + " " + student.Surname + " " + courseDayStudent.Present + "/" + courseDayStudent.Allpresence);
                Console.Write(" " + "(" + parcent + "%" + ")" + "  -" + passOrFail + "\n");



                string presencePerStudent = student.Name + " " + student.Surname + " " + courseDayStudent.Present + "/" +
                                            courseDayStudent.Allpresence + " " + "(" + parcent + "%" + ")" + "  -" + passOrFail; // json
                raportDto.PresenceList.Add(presencePerStudent);                                                                  //json
            }

            Console.WriteLine("\n--Praca Domowa--\n");
            foreach (var student in studentListFromCourse)
            {
                //Przygotowanie danych o pracy domowej
                var homeworkStudent = _homeworkService.GetHomeworkByIds(student.Id, SelectedCourse);                                //Pobranie prac domowych dla studenta
                var parcent         = _raportService.CheckHowManyParcent(homeworkStudent.MaxPoints, homeworkStudent.StudentPoints); //Przeliczenie wyniku obecnosci na procenty
                var passOrFail      = _raportService.CheckIfResultsIsHigherThanThreshold(parcent, course.HomeworkThreshold);        //Sprawdzenie czy wynik jest wyższy od progu zaliczenia

                //Wydruk
                Console.Write(student.Name + " " + student.Surname + " " + homeworkStudent.StudentPoints + "/" + homeworkStudent.MaxPoints);
                Console.Write(" " + "(" + parcent + "%" + ")" + " -" + passOrFail + "\n");


                string homeworkPerStudents = student.Name + " " + student.Surname + " " + homeworkStudent.StudentPoints + "/" + homeworkStudent.MaxPoints + " " + "(" + parcent + "%" + ")" + " -" + passOrFail; // json
                raportDto.HomeworkList.Add(homeworkPerStudents);                                                                                                                                                 //json
            }

            raportDto.TeacherName = course.Teacher;
            OnCourseRaportPrinted(raportDto);
            //  ExportRaport(raportDto);//json bez trzeciego zadania - zwykly zapis do pliku
        } //drukuje raport z wybranego kursu