diff --git a/Controllers/TarefaController.cs b/Controllers/TarefaController.cs index ba96b30f..e4ff473b 100644 --- a/Controllers/TarefaController.cs +++ b/Controllers/TarefaController.cs @@ -18,24 +18,23 @@ public TarefaController(OrganizadorContext context) [HttpGet("{id}")] public IActionResult ObterPorId(int id) { - // TODO: Buscar o Id no banco utilizando o EF - // TODO: Validar o tipo de retorno. Se não encontrar a tarefa, retornar NotFound, - // caso contrário retornar OK com a tarefa encontrada + var tarefa = _context.Tarefas.Find(id); + if (tarefa == null) + return NotFound(); return Ok(); } [HttpGet("ObterTodos")] public IActionResult ObterTodos() { - // TODO: Buscar todas as tarefas no banco utilizando o EF + var tarefas = _context.Tarefas; return Ok(); } [HttpGet("ObterPorTitulo")] public IActionResult ObterPorTitulo(string titulo) { - // TODO: Buscar as tarefas no banco utilizando o EF, que contenha o titulo recebido por parâmetro - // Dica: Usar como exemplo o endpoint ObterPorData + var tarefas = _context.Tarefas.Where(t => t.Titulo.Contains(titulo)); return Ok(); } @@ -49,8 +48,7 @@ public IActionResult ObterPorData(DateTime data) [HttpGet("ObterPorStatus")] public IActionResult ObterPorStatus(EnumStatusTarefa status) { - // TODO: Buscar as tarefas no banco utilizando o EF, que contenha o status recebido por parâmetro - // Dica: Usar como exemplo o endpoint ObterPorData + var tarefas = _context.Tarefas.Where(t => t.Status == status); var tarefa = _context.Tarefas.Where(x => x.Status == status); return Ok(tarefa); } @@ -61,7 +59,7 @@ public IActionResult Criar(Tarefa tarefa) if (tarefa.Data == DateTime.MinValue) return BadRequest(new { Erro = "A data da tarefa não pode ser vazia" }); - // TODO: Adicionar a tarefa recebida no EF e salvar as mudanças (save changes) + _context.Tarefas.Add(tarefa); return CreatedAtAction(nameof(ObterPorId), new { id = tarefa.Id }, tarefa); } @@ -76,9 +74,12 @@ public IActionResult Atualizar(int id, Tarefa tarefa) if (tarefa.Data == DateTime.MinValue) return BadRequest(new { Erro = "A data da tarefa não pode ser vazia" }); - // TODO: Atualizar as informações da variável tarefaBanco com a tarefa recebida via parâmetro - // TODO: Atualizar a variável tarefaBanco no EF e salvar as mudanças (save changes) - return Ok(); + tarefaBanco.Titulo = tarefa.Titulo; + tarefaBanco.Descricao = tarefa.Descricao; + tarefaBanco.Data = tarefa.Data; + tarefaBanco.Status = tarefa.Status; + _context.Tarefas.Update(tarefaBanco); + return Ok(tarefaBanco); } [HttpDelete("{id}")] @@ -89,7 +90,8 @@ public IActionResult Deletar(int id) if (tarefaBanco == null) return NotFound(); - // TODO: Remover a tarefa encontrada através do EF e salvar as mudanças (save changes) + _context.Tarefas.Remove(tarefaBanco); + return Ok(tarefaBanco); return NoContent(); } } diff --git a/appsettings.Development.json b/appsettings.Development.json index 9978cbfd..3c49892f 100644 --- a/appsettings.Development.json +++ b/appsettings.Development.json @@ -6,6 +6,6 @@ } }, "ConnectionStrings": { - "ConexaoPadrao": "COLOCAR SUA CONNECTION STRING AQUI" + "ConexaoPadrao": "Server=DESKTOP-1VJ2J2O;Database=Teste;Trusted_Connection=True;MultipleActiveResultSets=true" } }