コード例 #1
0
        public async Task <IActionResult> Put(int id, [FromBody] HabilidadeRequest request)
        {
            Habilidade habilidade = await _uow.Habilidades.ObterComDimensoes(id);

            if (habilidade == null)
            {
                return(NotFound());
            }

            habilidade.Atualizar(request);

            if (!habilidade.TaValido())
            {
                return(BadRequest(new AppResponse(false, MSG_ERRO, habilidade.ObterErros())));
            }
            else
            {
                bool existeComMesmoNome = await _uow.Compentencias.Existe(request.CompetenciaId, request.Descritivo, id);

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

                Competencia competencia = await _uow.Compentencias.Get(request.CompetenciaId);

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

                await _uow.CommitAsync();

                return(Ok(new AppResponse(true, "Competencia atualizada com sucesso.")));
            }
        }