Example #1
0
        public async Task <IActionResult> Put(int id, [FromBody] CompetenciaRequest request)
        {
            Competencia competencia = await _uow.Compentencias.Get(id);

            if (competencia == null)
            {
                return(NotFound(new AppResponse(true, "A competencia informada não existe.")));
            }

            competencia.Atualizar(request);

            if (!competencia.TaValido())
            {
                return(BadRequest(new AppResponse(false, "Ocorreram erros de validação.", competencia.ObterErros())));
            }
            else
            {
                bool existeComMesmoNome = await _uow.Compentencias.Existe(request.DisciplinaId, request.Nome, id);

                if (existeComMesmoNome)
                {
                    return(BadRequest(new AppResponse(MSG_ERRO, false, new List <string> {
                        MSG_COMPENTENCIA_JAEXISTE
                    })));
                }

                Disciplina disciplina = await _uow.Disciplinas.Get(request.DisciplinaId);

                if (disciplina == null)
                {
                    return(BadRequest(new AppResponse(MSG_ERRO, false, new List <string> {
                        MSG_DISCIPLINA_NAOEXISTE
                    })));
                }

                await _uow.CommitAsync();

                return(Ok(new AppResponse(true, "Competência atualizada com sucesso.", competencia.ToDTO())));
            }
        }