public ValidationResult <string> ValidateStudentSubject(Guid studentId, Guid examId, Guid currentId = default) { var output = new ValidationResult <string>() { IsSuccess = true }; var studentSubject = new StudentSubject(); var studentBySubjects = new List <StudentSubject>(); studentBySubjects = studentSubject.StudentBySubjects(studentId); var repo = Entity.DepCon.Resolve <IRepository <StudentExam> >(); var entityWithDni = repo.QueryAll().FirstOrDefault(s => s.Mark == Mark); var exam = FindExam(examId); if (exam == null) { output.IsSuccess = false; output.Errors.Add("No has seleccionado ningún Examen"); } else { studentSubject = studentBySubjects.FirstOrDefault(x => x.SubjectId == exam.SubjectId); //On Delete if (currentId != default) { output.IsSuccess = true; } //Provar d'afegir un else if amb edit. A veure si funciona //Revisar el codi else if (currentId == default && entityWithDni != null && entityWithDni.Id != currentId) { if (studentId == default) { if (studentSubject == null) { if (entityWithDni.Exam == Exam) { output.IsSuccess = false; output.Errors.Add("El estudiante no está matriculado de la asignatura"); } } } } //On Create else if (currentId == default && entityWithDni != null) { if (studentId == default) { output.IsSuccess = false; output.Errors.Add("El estudiante no puede estar vacío"); } else { if (exam.SubjectId == default) { output.IsSuccess = false; output.Errors.Add("La asignatura no puede estar vacía"); } else { if (studentSubject == null) { output.IsSuccess = false; output.Errors.Add("El estudiante no está matriculado de la asignatura"); } } } } } return(output); }
public ValidationResult <string> ValidateStudentSubject(Guid studentId, Guid examId, Guid currentId = default) { var output = new ValidationResult <string>() { IsSuccess = true }; var studentSubject = new StudentSubject(); var studentBySubjects = new List <StudentSubject>(); studentBySubjects = studentSubject.StudentBySubjects(studentId); var exam = new Exam(); exam = FindExam(ExamId); if (exam == null) { output.IsSuccess = false; output.Errors.Add("No has seleccionado ningún Examen"); } else { studentSubject = studentBySubjects.FirstOrDefault(x => x.SubjectId == exam.SubjectId); //On Delete if (currentId != default) { output.IsSuccess = true; } //On Create else { if (studentId == default) { output.IsSuccess = false; output.Errors.Add("el Student no puede estar vacío"); } else { if (exam.SubjectId == default) { output.IsSuccess = false; output.Errors.Add("la Asignatura no puede estar vacío"); } else { if (studentSubject == null) { output.IsSuccess = false; output.Errors.Add("El Student no está matriculado de la Asignatura"); } } } } } return(output); }