Пример #1
0
        public async Task <ActionResult> Post([FromBody] HabilidadeRequest request)
        {
            var dimensoes = new List <Dimensao>()
            {
                new Dimensao {
                    Nome = "Conceitual", Codigo = 1
                },
                new Dimensao {
                    Nome = "Procedimental", Codigo = 2
                },
                new Dimensao {
                    Nome = "Atitudinal", Codigo = 3
                }
            };

            var habilidade = new Habilidade(request.CompetenciaId, request.Nome, request.Descritivo, dimensoes);

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

                if (existeComMesmoNome)
                {
                    return(BadRequest(new AppResponse(false, MSG_ERRO, 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
                    })));
                }

                _uow.Habilidades.Add(habilidade);
                await _uow.CommitAsync();

                var uri = Url.Action("Get", new { id = habilidade.Id });

                return(Created(uri, new AppResponse(true, "Habilidade criada com sucesso.", habilidade.ToDTO())));
            }
        }
Пример #2
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.")));
            }
        }