Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        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);
        }