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