public static ValidationResult <Subject> ValidateSubject(string subjectName, bool first) { ValidationResult <Subject> valiReSubject = new ValidationResult <Subject>(); valiReSubject.IsSuccess = false; //Primero le encargamos a la clase Student que verifique el DNI ValidationResult <string> vrAsignatura = Subject.ValidateName(subjectName); if (vrAsignatura.AllErrors.Contains(asignaturaEncontrada)) { vrAsignatura.IsSuccess = true; } else { if (!first) { Console.WriteLine(vrAsignatura.AllErrors); } } if (vrAsignatura.IsSuccess) { //Si es correcto hay que buscarla valiReSubject.IsSuccess = true; SubjectRepository subjectRepository = new SubjectRepository(); valiReSubject.ValidatedResult = subjectRepository.GetSubjectByName(subjectName); if (valiReSubject.ValidatedResult == null) { valiReSubject.IsSuccess = false; valiReSubject.Errors.Add("no se ha encontrado la asignatura"); } } return(valiReSubject); }
private static bool MateriaEdicion() { LimpiarConsoleLine(); Console.WriteLine("3 - 2) Edición de Materia. Para volver al menú Materia en cualquier momento entra *."); Console.WriteLine("Entra el nombre de la materia:"); var name = Console.ReadLine(); var result = SubjectRepository.GetSubjectByName(name); if (result != null) { Console.WriteLine("entra el profesor que corresponda a la materia:"); var teacher = ""; bool primera = true; ValidationResult <string> vrTeacher = Subject.ValidateTeacher(teacher); do { if (!primera) { Console.WriteLine(vrTeacher.AllErrors); } teacher = Console.ReadLine(); if (teacher == "*") { return(false); } primera = false; } while (!(vrTeacher = Subject.ValidateName(teacher)).IsSuccess); if (vrTeacher.IsSuccess) { Subject editedSubject = new Subject { Name = name, Teacher = teacher }; SubjectRepository.Update(editedSubject); return(true); } } else { Console.WriteLine("Ninguna coincidencia con esta materia!"); Console.WriteLine("¿Algo más del menú de materias?, en caso contrario entra 'p' para ir al menú principal."); } return(false); }