static void ShowExamManagementMenu() { int option = 0; bool looping = true; while (looping) { Console.WriteLine("Elige una opción de las siguientes: "); Console.WriteLine("1. Crear Examen."); Console.WriteLine("2. Mostrar Examen."); Console.WriteLine("3. Modificar Examen."); Console.WriteLine("4. Borrar Examen."); Console.WriteLine("5. Volver al Menú principal."); option = Input.InputInt(); if (option == 1) { #region Input FInalMArk Console.WriteLine("Escribe la nota del examen"); string inputFinalmark = Console.ReadLine(); ValidationResult <double> valResultFinalMark = Exam.ValidateFinalMark(inputFinalmark); while (!valResultFinalMark.ValidationSuccesful) { foreach (var msg in valResultFinalMark.Messages) { Console.WriteLine(msg); } inputFinalmark = Console.ReadLine(); valResultFinalMark = Exam.ValidateFinalMark(inputFinalmark); } #endregion #region Input StudentDNi Console.WriteLine("Escribe el dni del alumno que ha realizado ele xamen"); string inputStudentDni = Console.ReadLine(); ValidationResult <Student> valResultStudent = Exam.ValidateStudent(inputStudentDni); while (!valResultStudent.ValidationSuccesful) { foreach (var msg in valResultStudent.Messages) { Console.WriteLine(msg); } inputStudentDni = Console.ReadLine(); valResultStudent = Exam.ValidateStudent(inputStudentDni); } #endregion #region Input SubjectName Console.WriteLine("Escribe el el nombre de la asignatura dele xamen"); string inputSubjectName = Console.ReadLine(); ValidationResult <Subject> valResultSubject = Exam.ValidateSubject(inputSubjectName); while (!valResultSubject.ValidationSuccesful) { foreach (var msg in valResultSubject.Messages) { Console.WriteLine(msg); } inputStudentDni = Console.ReadLine(); valResultSubject = Exam.ValidateSubject(inputSubjectName); } #endregion #region Input Title Console.WriteLine("Escribe el título de este examen. Ejemplo: AA1. El formato final será: DNIAlumno_SubjectNAme_Titulo"); string inputTitle = Console.ReadLine(); ValidationResult <String> valResultTitle = Exam.ValidateTitle(inputStudentDni + "_" + inputSubjectName + "_" + inputTitle); while (!valResultTitle.ValidationSuccesful) { foreach (var msg in valResultTitle.Messages) { Console.WriteLine(msg); } inputTitle = Console.ReadLine(); valResultTitle = Exam.ValidateTitle(inputTitle); } #endregion if (valResultStudent.ValidationSuccesful && valResultFinalMark.ValidationSuccesful && valResultSubject.ValidationSuccesful && valResultTitle.ValidationSuccesful) { var exam = new Exam(valResultFinalMark.ValidatedResult, valResultStudent.ValidatedResult, valResultSubject.ValidatedResult, valResultTitle.ValidatedResult); var er = exam.Save <Exam>(); if (er.SaveValidationSuccesful) { Console.WriteLine("Guardado!"); } else { Console.WriteLine("Asgnatrua no guardada debido a errores."); } } } else if (option == 2) { Console.Clear(); Console.WriteLine("Escribe el título del examen"); string examTitle = Console.ReadLine(); IEnumerable <Exam> ex = ExamRepository.GetExamByTitle(examTitle); foreach (Exam exam in ex) { Console.WriteLine("Nota Final:" + exam.FinalMark + " en el examen con el siguiente comentario:" + exam.Title); } } else if (option == 3) { Console.WriteLine("Escribe el dni de alumno"); string studentDni = Console.ReadLine(); Console.WriteLine("Escribe el título del examen"); string examName = Console.ReadLine(); Console.WriteLine("Escribe el nombre de la asignatura que quieras buscar"); string subjectname = Console.ReadLine(); if (ExamRepository.ExamByTitle.ContainsKey(studentDni + "_" + subjectname + "_" + examName)) { Exam examClone = ExamRepository.ExamByTitle[studentDni + "_" + subjectname + "_" + examName]; examClone.Id = ExamRepository.ExamByTitle[studentDni + "_" + subjectname + "_" + examName].Id; #region Input FInalMArk Console.WriteLine("Escribe la nota del examen"); string inputFinalmark = Console.ReadLine(); ValidationResult <double> valResultFinalMark = Exam.ValidateFinalMark(inputFinalmark); while (!valResultFinalMark.ValidationSuccesful) { foreach (var msg in valResultFinalMark.Messages) { Console.WriteLine(msg); } inputFinalmark = Console.ReadLine(); valResultFinalMark = Exam.ValidateFinalMark(inputFinalmark); } #endregion #region Input Title Console.WriteLine("Escribe un título para el examen."); string inputTitle = Console.ReadLine(); ValidationResult <String> valResultTitle = Exam.ValidateTitle(inputTitle); while (!valResultTitle.ValidationSuccesful) { foreach (var msg in valResultTitle.Messages) { Console.WriteLine(msg); } inputTitle = Console.ReadLine(); valResultTitle = Exam.ValidateTitle(inputTitle); } #endregion #region Input StudentDNi Console.WriteLine("Escribe el dni del alumno que ha realizado ele xamen"); string inputStudentDni = Console.ReadLine(); ValidationResult <Student> valResultStudent = Exam.ValidateStudent(inputStudentDni); while (!valResultStudent.ValidationSuccesful) { foreach (var msg in valResultStudent.Messages) { Console.WriteLine(msg); } inputStudentDni = Console.ReadLine(); valResultStudent = Exam.ValidateStudent(inputStudentDni); } #endregion #region Input SubjectName Console.WriteLine("Escribe el el nombre de la asignatura dele xamen"); string inputSubjectName = Console.ReadLine(); ValidationResult <Subject> valResultSubject = Exam.ValidateSubject(inputSubjectName); while (!valResultSubject.ValidationSuccesful) { foreach (var msg in valResultSubject.Messages) { Console.WriteLine(msg); } inputStudentDni = Console.ReadLine(); valResultSubject = Exam.ValidateSubject(inputSubjectName); } #endregion if (valResultStudent.ValidationSuccesful && valResultFinalMark.ValidationSuccesful && valResultSubject.ValidationSuccesful && valResultTitle.ValidationSuccesful) { examClone.FinalMark = valResultFinalMark.ValidatedResult; examClone.Title = valResultTitle.ValidatedResult; examClone.Student = valResultStudent.ValidatedResult; examClone.Subject = valResultSubject.ValidatedResult; var er = examClone.Save <Exam>(); if (er.SaveValidationSuccesful) { Console.WriteLine("Guardado!"); } else { Console.WriteLine("Asgnatrua no guardada debido a errores."); } } } } else if (option == 4) { //TODO DeleteExam() } else { looping = false; break; } } }
public override Repository <T> GetRepo <T>() { var output = new ExamRepository(); return(output as Repository <T>); }