예제 #1
0
        public async Task <ActionResult> Get(int id)
        {
            Competencia competencia = await _uow.Compentencias.Get(id);

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

            return(Ok(competencia.ToDTO()));
        }
예제 #2
0
        public async Task <ActionResult> Post([FromBody] CompetenciaRequest request)
        {
            var competencia = new Competencia(request.DisciplinaId, request.Nome, request.Descritivo);

            if (!competencia.TaValido())
            {
                return(BadRequest(new { sucesso = false, erros = competencia.ObterErros() }));
            }
            else
            {
                bool existeComMesmoNome = await _uow.Compentencias.Existe(request.DisciplinaId, request.Nome, null);

                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
                    })));
                }

                _uow.Compentencias.Add(competencia);
                await _uow.CommitAsync();

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

                return(Created(uri, new AppResponse(true, MSG_DISCIPLINA_CRIADA, competencia.ToDTO())));
            }
        }
예제 #3
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())));
            }
        }