public void ExportRaportToFile(string msg, RaportDto raportDto) { string filePath = @"C:\Users\Student13\Desktop\du usuniecia\homework_iii\jsonPliki\"; filePath += msg; File.WriteAllText(filePath, JsonConvert.SerializeObject(raportDto, Formatting.Indented)); }
} //drukuje raport z wybranego kursu private void OnCourseRaportPrinted(RaportDto raportDto) { if (RaportIsPrinted == null) { return; } RaportIsPrintedEventArgs raportIsPrintedEventArgs = new RaportIsPrintedEventArgs(); raportIsPrintedEventArgs.RaportDto = raportDto; RaportIsPrinted(this, raportIsPrintedEventArgs); } //event na drukowanie raportu
} //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