public ValidationResult Update(Domain.Entities.CourseClass entity) { var response = new ValidationResult(); if (!entity.IsValid()) { response.AddError(entity.Errors.ToArray()); return(response); } var subjectId = _curriculum_SubjectRepository.GetAll().FirstOrDefault(w => w.Id == entity.Curriculum_SubjectId)?.SubjectId; if (!subjectId.HasValue || !CheckIfSubjectIsEnabled(entity.Curriculum_SubjectId)) { response.AddError("Disciplina não disponível"); } if (!CheckIfProfessorIsAuthorized(entity.ProfessorId, subjectId.Value)) { response.AddError($"Professor não habilitado para esta disciplina."); } var operationResult = _courseClassRepository.Update(entity); if (!operationResult) { response.AddError("Classe não encontrada"); } return(response); }
public IActionResult Post([FromBody] Domain.Entities.CourseClass entity) { try { var result = _courseClass.Add(entity); _unitOfWork.Commit(); if (result.Errors.Any()) { return(BadRequest(result.Errors)); } return(Ok(result)); } catch (Exception ex) { return(StatusCode(500, ex)); } }
public Domain.Entities.CourseClass Add(Domain.Entities.CourseClass entity) { if (!entity.IsValid()) { return(entity); } var subjectId = _curriculum_SubjectRepository.GetAll().FirstOrDefault(w => w.Id == entity.Curriculum_SubjectId)?.SubjectId; if (!subjectId.HasValue || !CheckIfSubjectIsEnabled(entity.Curriculum_SubjectId)) { entity.AddError("Disciplina não disponível"); } if (!CheckIfProfessorIsAuthorized(entity.ProfessorId, subjectId.Value)) { entity.AddError($"Professor não habilitado para esta disciplina."); } _courseClassRepository.Add(entity); return(entity); }