예제 #1
0
        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);
        }
예제 #2
0
        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);
        }